diff --git a/.gitea/workflows/test-flight-cd.yaml b/.gitea/workflows/test-flight-cd.yaml index c1244bd9..0bb7c723 100644 --- a/.gitea/workflows/test-flight-cd.yaml +++ b/.gitea/workflows/test-flight-cd.yaml @@ -42,9 +42,16 @@ jobs: env: KEYCHAIN_PASSWORD: ${{ vars.IOS_RUNNER_CI_PASSWORD }} - - name: Flutter build + - name: Setup API key run: | echo "${API_APPSTORE_KEY}" | base64 --decode > ios/AuthKey.p8 + chmod 600 ios/AuthKey.p8 + ls -la ios/AuthKey.p8 + env: + API_APPSTORE_KEY: ${{ vars.API_APPSTORE_KEY }} + + - name: Flutter build + run: | flutter clean flutter pub get flutter pub upgrade diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index d9653264..a43260fe 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -18,8 +18,16 @@ default_platform(:ios) platform :ios do desc "Push a new beta build to TestFlight" lane :beta do + UI.message "Checking API key file..." + if File.exist?("./AuthKey.p8") + UI.message "API key file exists" + else + UI.user_error!("API key file not found at ./AuthKey.p8") + end + match(type: "appstore", readonly: true) increment_build_number(xcodeproj: "Runner.xcodeproj") + build_app( workspace: "Runner.xcworkspace", scheme: "Runner", @@ -27,7 +35,29 @@ platform :ios do codesigning_identity: "Apple Distribution", xcargs: "--dart-define=HIDE_PLANS=true" ) - app_store_connect_api_key(key_id: "325JS9JCZH", issuer_id: "dfa27d1d-2bb8-4d4d-847e-0b32f9b880b3", key_filepath: "./AuthKey.p8") - upload_to_testflight + + app_store_connect_api_key( + key_id: "325JS9JCZH", + issuer_id: "dfa27d1d-2bb8-4d4d-847e-0b32f9b880b3", + key_filepath: "./AuthKey.p8", + duration: 1200, + in_house: false + ) + + begin + upload_to_testflight( + api_key_path: "./AuthKey.p8", + skip_waiting_for_build_processing: true, + skip_submission: true, + distribute_external: false, + notify_external_testers: false, + changelog: "TestFlight build #{get_build_number(xcodeproj: 'Runner.xcodeproj')}", + verbose: true + ) + rescue => ex + UI.error "Upload to TestFlight failed: #{ex.message}" + UI.error "Full error: #{ex.backtrace.join("\n")}" + raise ex + end end end