Auto-submit iOS builds for App Store review via fastlane
Adds a fastlane lane and an EAS Workflow custom job that runs after submit_ios. Picks up the latest TestFlight build, waits for Apple processing, and submits for review with auto-release on approval. Uses ASC_KEY_ID, ASC_ISSUER_ID, ASC_KEY_P8 secrets from the EAS production environment.
This commit is contained in:
@@ -37,3 +37,16 @@ jobs:
|
|||||||
params:
|
params:
|
||||||
build_id: ${{ needs.build_android.outputs.build_id }}
|
build_id: ${{ needs.build_android.outputs.build_id }}
|
||||||
profile: production
|
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
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
source "https://rubygems.org"
|
||||||
|
|
||||||
|
gem "fastlane"
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
app_identifier("sh.paseo")
|
||||||
@@ -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
|
||||||
Reference in New Issue
Block a user