diff --git a/packages/app/.eas/workflows/release-mobile.yml b/packages/app/.eas/workflows/release-mobile.yml index 35fe47e6b..910f99019 100644 --- a/packages/app/.eas/workflows/release-mobile.yml +++ b/packages/app/.eas/workflows/release-mobile.yml @@ -37,3 +37,16 @@ jobs: params: build_id: ${{ needs.build_android.outputs.build_id }} profile: production + + submit_ios_for_review: + name: Submit iOS for App Store review + needs: [submit_ios] + environment: production + steps: + - uses: eas/checkout + - name: Install fastlane + working_directory: ./packages/app + run: bundle install + - name: Submit for review + working_directory: ./packages/app + run: bundle exec fastlane ios submit_review diff --git a/packages/app/Gemfile b/packages/app/Gemfile new file mode 100644 index 000000000..7a118b49b --- /dev/null +++ b/packages/app/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem "fastlane" diff --git a/packages/app/fastlane/Appfile b/packages/app/fastlane/Appfile new file mode 100644 index 000000000..909d16f40 --- /dev/null +++ b/packages/app/fastlane/Appfile @@ -0,0 +1 @@ +app_identifier("sh.paseo") diff --git a/packages/app/fastlane/Fastfile b/packages/app/fastlane/Fastfile new file mode 100644 index 000000000..53256cf55 --- /dev/null +++ b/packages/app/fastlane/Fastfile @@ -0,0 +1,42 @@ +default_platform(:ios) + +APP_IDENTIFIER = "sh.paseo" + +platform :ios do + desc "Submit the latest TestFlight build to App Store Review" + lane :submit_review do + api_key = app_store_connect_api_key( + key_id: ENV.fetch("ASC_KEY_ID"), + issuer_id: ENV.fetch("ASC_ISSUER_ID"), + key_filepath: ENV.fetch("ASC_KEY_P8"), + ) + + build_number = latest_testflight_build_number( + api_key: api_key, + app_identifier: APP_IDENTIFIER, + ) + + wait_for_build_processing_to_be_complete( + api_key: api_key, + app_identifier: APP_IDENTIFIER, + build_number: build_number.to_s, + ) + + deliver( + api_key: api_key, + app_identifier: APP_IDENTIFIER, + build_number: build_number.to_s, + submit_for_review: true, + automatic_release: true, + force: true, + skip_binary_upload: true, + skip_screenshots: true, + skip_metadata: true, + precheck_include_in_app_purchases: false, + submission_information: { + add_id_info_uses_idfa: false, + export_compliance_uses_encryption: false, + }, + ) + end +end