Prepare mobile 0.0.42 and fix TestFlight CI hang (#12961)
* Bump mobile app.json to 0.0.42 * fix(mobile-ios): stop TestFlight CI from waiting on ASC processing 0.0.42 builds 1–2 uploaded successfully then hung for hours polling processing with no Ready build and no Apple email. Exit after upload and cap the job at 90m so the next cut does not repeat that hang. * fix(mobile-ios): fully skip Pilot wait (no changelog) Pilot only returns immediately after upload when changelog is nil; passing notes re-enters the ASC build-list poll.
This commit is contained in:
parent
7a867f12aa
commit
20aeb0cb99
|
|
@ -30,6 +30,9 @@ jobs:
|
|||
# (@MainActor isolation). Xcode 16.x (macos-15) can't even parse it
|
||||
# ("unknown attribute 'MainActor'"), so we need Xcode 26.x → macos-26.
|
||||
runs-on: macos-26
|
||||
# Archive + upload is ~30–40m when healthy; 90m leaves margin without
|
||||
# sitting multi-hour on ASC processing polls (see Fastfile pilot wait).
|
||||
timeout-minutes: 90
|
||||
|
||||
defaults:
|
||||
run:
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
"expo": {
|
||||
"name": "Orca",
|
||||
"slug": "orca-mobile",
|
||||
"version": "0.0.41",
|
||||
"version": "0.0.42",
|
||||
"orientation": "default",
|
||||
"icon": "./assets/icon.png",
|
||||
"userInterfaceStyle": "automatic",
|
||||
|
|
|
|||
|
|
@ -28,8 +28,6 @@ WORKSPACE = File.join(MOBILE_ROOT, "ios", "Orca.xcworkspace")
|
|||
BUILD_OUTPUT_DIRECTORY = File.join(MOBILE_ROOT, "build")
|
||||
SCHEME = "Orca"
|
||||
BUNDLE_ID = "com.stably.orca.mobile"
|
||||
TESTFLIGHT_GROUPS = ["peeps"].freeze
|
||||
DEFAULT_TESTFLIGHT_CHANGELOG = "Latest Orca Mobile updates and fixes.".freeze
|
||||
|
||||
# App Store version states in which the version "train" is terminally closed to
|
||||
# new TestFlight build uploads (altool rejects with 90186 "train ... is
|
||||
|
|
@ -112,11 +110,6 @@ rescue StandardError => error
|
|||
nil
|
||||
end
|
||||
|
||||
def testflight_changelog
|
||||
changelog = ENV.fetch("TESTFLIGHT_CHANGELOG", "").strip
|
||||
changelog.empty? ? DEFAULT_TESTFLIGHT_CHANGELOG : changelog
|
||||
end
|
||||
|
||||
platform :ios do
|
||||
desc "Resolve the iOS release version and next TestFlight build number"
|
||||
lane :prepare_release_version do |options|
|
||||
|
|
@ -178,7 +171,7 @@ platform :ios do
|
|||
UI.message("Prepared Orca Mobile iOS #{version} (#{build_number})")
|
||||
end
|
||||
|
||||
desc "Build, sign, upload, and share Orca Mobile on TestFlight"
|
||||
desc "Build, sign, and upload Orca Mobile to App Store Connect / TestFlight"
|
||||
lane :release do
|
||||
api_key = app_store_connect_api_key_from_env
|
||||
|
||||
|
|
@ -221,15 +214,13 @@ platform :ios do
|
|||
|
||||
upload_to_testflight(
|
||||
api_key: api_key,
|
||||
# Why: fastlane can only assign external TestFlight groups after Apple
|
||||
# finishes processing the uploaded build.
|
||||
skip_waiting_for_build_processing: false,
|
||||
distribute_external: true,
|
||||
groups: TESTFLIGHT_GROUPS,
|
||||
notify_external_testers: true,
|
||||
# Why: fastlane requires release notes when distributing to external
|
||||
# TestFlight testers, even for CI-triggered smoke releases.
|
||||
changelog: testflight_changelog,
|
||||
# Why: ASC processing wait hung for hours (0.0.42 builds 1–2) with no Ready
|
||||
# build and no email. Exit after upload acceptance. Do not pass changelog —
|
||||
# Pilot only fully skips waiting when changelog is nil (otherwise it still
|
||||
# polls until the build appears). External distribute (e.g. peeps) from ASC
|
||||
# or a follow-up lane once Ready.
|
||||
skip_waiting_for_build_processing: true,
|
||||
distribute_external: false,
|
||||
)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in New Issue