[eas-cli] Set up TestFlight internal group when submitting with an existing ascAppId - #4136
[eas-cli] Set up TestFlight internal group when submitting with an existing ascAppId#4136tchayen wants to merge 4 commits into
Conversation
|
Subscribed to pull request
Generated by CodeMention Warning: The preamble and epilogue options in commentConfiguration are deprecated. Use template instead. |
4e14402 to
de8a2e7
Compare
de8a2e7 to
2a553d3
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #4136 +/- ##
==========================================
+ Coverage 62.47% 62.57% +0.11%
==========================================
Files 1008 1009 +1
Lines 45772 45781 +9
Branches 9631 9629 -2
==========================================
+ Hits 28590 28642 +52
+ Misses 15721 15689 -32
+ Partials 1461 1450 -11 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
The automatic internal TestFlight group setup previously ran only when the CLI itself created the App Store Connect app during interactive submit. Apps created on the App Store Connect website (or submitted with ascAppId in the submit profile) never got a group, so processed builds sat in TestFlight with no one able to install them. eas submit now runs the same setup best-effort for existing apps, using strictly non-interactive App Store Connect API key auth (env vars or the EAS credentials service) and skipping silently when no key is available. The group regeneration prompt is skipped in non-interactive mode instead of hanging, the TestFlight group URL no longer hardcodes a foreign app id, and eas go now reuses the shared implementation instead of a duplicated copy. Claude-Session: https://claude.ai/code/session_0192qAxJXYhEtc91K1xRqNnk
db7f08c to
040418d
Compare
|
✅ Thank you for adding the changelog entry! |
🤖 AI code reviewDecision: Approve with comments Overall PR risk: Medium. The change modifies existing behavior: 🟡 Warning (1)
This review is advisory — it never blocks a merge and never auto-approves. |
Why
The automatic TestFlight setup (internal group and admin testers) runs only on the interactive submit path that creates the App Store Connect app. Apps created on the ASC website never get a group, so processed builds sit in TestFlight with nobody able to install them.
How
eas submit -p iosruns the group setup best-effort whenascAppIdresolves from the submit profile. Auth is strictly non-interactive: an ASC API key from env vars or the EAS credentials service. Without a key the setup is skipped silently, so submits gain no new prompts or failures. apple-utils routes token-auth beta group and tester requests to the official ASC API, so no cookie session is needed.ensureTestFlightGroupExistsAsyncgains anonInteractiveoption that skips the destructive group-regeneration confirm with a warning.eas goreuses the shared implementation instead of its own copy.EAS_NO_AUTO_TESTFLIGHT_SETUPis respected on the new path.Test plan
CI passes. New unit tests cover the non-interactive behavior: no prompt, no group deletion, opt-out env var. The
IosSubmitCommandsuite asserts the setup runs for a profile-providedascAppId. Reproduced the original gap end to end while shipping a real app: an app created on the ASC website and submitted witheas build --auto-submit --non-interactivereached TestFlight with no internal group.