ci: add Android (Google Play internal track) release job - #15
Open
sporaktu wants to merge 1 commit into
Open
Conversation
Mirror the iOS EAS build+submit job for Android so a `v*` tag ships to both TestFlight and the Google Play internal testing track. The android job runs in parallel with iOS and soft-skips (step halt → success) when ANDROID_PACKAGE / GOOGLE_SERVICE_ACCOUNT_JSON_BASE64 are unset, so iOS can ship first without the release going red. EAS auto-manages the Android upload keystore; submit creds (service-account .json) are injected into eas.json at runtime, never committed. Also correct the setup doc: non-interactive CI cannot create the iOS distribution cert from scratch, so document the one-time interactive credential seeding (covers both the app and the share-extension target), and add the full Google Play setup (account, app, service account). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Extends the CircleCI release pipeline to ship Android to the Google Play internal testing track alongside the existing iOS → TestFlight flow, so a single
v*tag releases both platforms.Changes
.circleci/config.ymlandroid_build_and_submitjob: EAS builds the.aab,--auto-submituploads to the Google Play internal track. Submit creds (service-account.json) are injected intoeas.jsonat runtime, never committed.releaseworkflow, parallel to and independent of iOS.circleci-agent step halt→ job success) whenANDROID_PACKAGE/GOOGLE_SERVICE_ACCOUNT_JSON_BASE64are unset — so iOS can ship first without the release going red.docs/ci/circleci-testflight-setup.mdapp.config.tsalready resolvedANDROID_PACKAGEon the EAS build server — no change needed there.Validation
releaseworkflow.eas.jsonsubmit-injection scripts produce valid JSON (simulated).expo configresolvesandroid.packagefromANDROID_PACKAGEon the build server.Still requires (portal/credentials, out of scope for this PR)
IOS_BUNDLE_IDas an EAS production env var.GOOGLE_SERVICE_ACCOUNT_JSON_BASE64+ANDROID_PACKAGEin thehydra-ccicontext.