keep using match
Some checks failed
Build and deploy the backend to staging / Build and push image (pull_request) Successful in 1m42s
Build and release debug APK / Build APK (pull_request) Failing after 3m26s
Build and deploy the backend to staging / Deploy to staging (pull_request) Successful in 15s

This commit is contained in:
Remy Moll 2024-12-14 18:41:11 +01:00
parent cbada7e4a4
commit 7acfb84122
4 changed files with 24 additions and 66 deletions

View File

@ -40,7 +40,13 @@ jobs:
secret/release GOOGLE_MAPS_API_KEY | GOOGLE_MAPS_API_KEY ;
secret/release IOS_ASC_KEY_ID | IOS_ASC_KEY_ID ;
secret/release IOS_ASC_ISSUER_ID | IOS_ASC_ISSUER_ID ;
secret/release IOS_ASC_KEY_P8 | IOS_ASC_KEY_P8 ;
secret/release IOS_ASC_KEY | IOS_ASC_KEY ;
secret/release IOS_MATCH_REPO_SSH_KEY_BASE64 | IOS_MATCH_REPO_SSH_KEY_BASE64 ;
- name: Setup SSH key for match git repo
run: echo "$MATCH_REPO_SSH_KEY" | base64 --decode > ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa
env:
MATCH_REPO_SSH_KEY: ${{ steps.load-secrets.outputs.IOS_MATCH_REPO_SSH_KEY_BASE64 }}
- name: Install fastlane
run: bundle install
@ -53,6 +59,7 @@ jobs:
BUILD_NUMBER: ${{ github.run_number }}
# BUILD_NAME is implicitly available
GOOGLE_MAPS_API_KEY: ${{ steps.load-secrets.outputs.GOOGLE_MAPS_API_KEY }}
IOS_ASC_KEY_ID: ${{ GOOGLE_MAPS_API_KEY.IOS_ASC_KEY_ID }}
IOS_ASC_ISSUER_ID: ${{ GOOGLE_MAPS_API_KEY.IOS_ASC_ISSUER_ID }}
IOS_ASC_KEY_P8: ${{ GOOGLE_MAPS_API_KEY.IOS_ASC_KEY_P8 }}
IOS_ASC_KEY_ID: ${{ steps.load-secrets.outputs.IOS_ASC_KEY_ID }}
IOS_ASC_ISSUER_ID: ${{ steps.load-secrets.outputs.IOS_ASC_ISSUER_ID }}
IOS_ASC_KEY: ${{ steps.load-secrets.outputs.IOS_ASC_KEY }}
MATCH_PASSWORD: ${{ steps.load-secrets.outputs.IOS_MATCH_PASSWORD }}

View File

@ -10,7 +10,7 @@ import GoogleMaps
) -> Bool {
// load the key from env
let key = ProcessInfo.processInfo.environment["GOOGLE_MAPS_API_KEY"]!
GMSServices.provideAPI(key)
GMSServices.provideAPIKey(key)
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}

View File

@ -7,72 +7,27 @@ platform :ios do
app_store_connect_api_key(
key_id: ENV["IOS_ASC_KEY_ID"],
issuer_id: ENV["IOS_ASC_ISSUER_ID"],
key_content: ENV["IOS_ASC_KEY_P8"],
key_content: ENV["IOS_ASC_KEY"],
is_key_content_base64: true,
in_house: false
)
end
desc "Installs signing certificate in the keychain and downloads provisioning profiles from App Store Connect"
lane :prepare_signing do |options|
team_id = CredentialsManager::AppfileConfig.try_fetch_value(:team_id)
api_key = lane_context[SharedValues::APP_STORE_CONNECT_API_KEY]
keychain_name = "signing"
keychain_password = "temp"
delete_keychain(
name: keychain_name
) if File.exist? File.expand_path("~/Library/Keychains/#{keychain_name}-db")
create_keychain(
name: keychain_name,
password: keychain_password,
default_keychain: true,
unlock: true,
timeout: 3600
)
import_certificate(
certificate_path: ENV["SIGNING_KEY_FILE_PATH"],
certificate_password: ENV["SIGNING_KEY_PASSWORD"],
keychain_name: keychain_name,
keychain_password: keychain_password
)
# fetches and installs provisioning profiles from ASC
sigh(
adhoc: options[:adhoc],
api_key: api_key,
readonly: true
)
end
desc "Deploy a new version to closed testing (testflight)"
lane :deploy_testing do
build_name = ENV["BUILD_NAME"]
build_number = ENV["BUILD_NUMBER"]
app_identifier = CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)
load_asc_api_token
prepare_signing
api_key = lane_context[SharedValues::APP_STORE_CONNECT_API_KEY]
profile_name = "App Provisioning Profile" # replace with the name of the profile to use for the build
output_name = "example-iOS" # specify the name of the .ipa file to generate
export_method = "app-store" # specify the export method
# turn off automatic signing during build so correct code signing identity is guaranteed to be used
update_code_signing_settings(
use_automatic_signing: false,
targets: ["main-target"], # specify which targets to update code signing settings for
code_sign_identity: "Apple Distribution", # replace with name of code signing identity if different
bundle_identifier: app_identifier,
profile_name: profile_name,
build_configurations: ["Release"] # only toggle code signing settings for Release configurations
sync_code_signing(
api_key: api_key,
type: "appstore",
readonly: true,
)
sh(
"flutter",
@ -87,10 +42,6 @@ platform :ios do
build_app(
skip_build_archive: true,
archive_path: "../build/ios/archive/Runner.xcarchive"
provisioningProfiles: {
app_identifier => profile_name
}
)
upload_to_testflight
@ -99,11 +50,12 @@ platform :ios do
desc "Deploy a new version as a full release"
lane :deploy_release do
build_name = ENV["BUILD_NAME"]
build_number = ENV["BUILD_NUMBER"]
load_asc_api_token
api_key = lane_context[SharedValues::APP_STORE_CONNECT_API_KEY]
sync_code_signing(
api_key: api_key,
type: "appstore",
@ -135,6 +87,5 @@ platform :ios do
automatic_release: true,
# automatically release the app after review
)
end
end

View File

@ -2,8 +2,8 @@
# DO NOT EDIT THIS FILE
# Copy this file to local.env and edit the values to match your local environment
IOS_ASC_KEY_ID="sample"
IOS_ASC_KEY="sample"
IOS_ASC_ISSUER_ID="sample"
IOS_ASC_KEY_P8="sample"
SIGNING_KEY_FILE_PATH="sample"
SIGNING_KEY_PASSWORD="sample"
BUILD_NAME="sample"