build(mobile): automate App Store metadata - #379
Conversation
# Conflicts: # apps/mobile/eas.json
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 332c179e4c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| workflow_dispatch: | ||
|
|
||
| concurrency: | ||
| group: publish-mobile-metadata |
There was a problem hiding this comment.
Serialize metadata publishing with mobile submissions
When this workflow is dispatched while build-mobile.yml is running with submit: true, the workflows use different concurrency groups (publish-mobile-metadata versus build-mobile-production) even though the iOS submit profile now has metadataPath and the build workflow invokes eas submit --profile production. A metadata-only run from a newer ref can therefore publish first and then be overwritten by the older build run when its long native build finishes; use a shared concurrency group for both App Store writers or stop the artifact submission path from uploading metadata.
Useful? React with 👍 / 👎.
What changed
store.config.jsonWhy
App Store listing changes need a reviewable and independently retryable release path. Publishing metadata separately avoids rebuilding signed iOS and Android artifacts for copy-only updates.
Impact
Maintainers can run
Publish Mobile Metadatafrom GitHub Actions. The workflow uses the protectedreleaseenvironment, its existingEXPO_TOKEN, and the App Store Connect API key stored by EAS.Validation
actionlint .github/workflows/build-mobile.yml .github/workflows/publish-mobile-metadata.ymleas metadata:lint --profile productionpnpm check:cipnpm test— 302 files passed, 3 skipped; 2435 tests passed, 5 skipped