The release notes, commit marker, and Slack alerts are nightly-specific, so
move them out of the build workflows and into nightly-build.yml:
- prepare job reads the previous nightly-build-commit artifact and generates
the shared changelog once
- iOS/Android builds run in parallel, consuming the notes (iOS via a new
releaseNotes input); both expose version/build outputs via workflow_call
- per-platform Slack jobs post the notes with that platform's version
- record job advances the marker only after both builds succeed, so a failed
night's commits roll into the next successful nightly's notes
Also harden the TestFlight key cleanup with a trap ... EXIT so the App Store
Connect private key is removed even if fastlane exits non-zero under bash -e.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
After a nightly iOS build is assigned to the QA Team TestFlight group, post
the generated changelog to the nightly builds Slack channel via the
NIGHTLY_BUILDS_SLACK_WEBHOOK secret. The payload is built with jq so the
multi-line notes are safely JSON-encoded.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Generate the changelog from commits since the last nightly and pass it to
fastlane's upload_to_testflight changelog. The previous nightly's commit
SHA is stored as a dedicated nightly-build-commit artifact (independent of
the most-recent-testflight-commit cache), so the range is nightly-to-nightly.
Falls back to the last 30 commits when no prior marker is found.
Requires actions: read on the job to query past artifacts.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add a scheduled workflow (2:10 AM UTC, after the nightly i18n job) that
builds both platforms via reusable workflow_call triggers:
- Android: testflight-android profile, producing an Internal release
- iOS: testflight profile, then assigns the build to the "QA Team"
TestFlight group via fastlane (distribute_only)
Adds workflow_call triggers + an assignTestFlightGroup input to the iOS
workflow. Assigning to a TestFlight group requires App Store Connect API
key secrets (ASC_KEY_ID, ASC_ISSUER_ID, ASC_KEY_P8_BASE64), which still
need to be added to the repo.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sets the "What to test" field in TestFlight to distinguish between
TestFlight and Production builds.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Configure concurrency groups so only one iOS build and one Android build
can run at a time across all workflows. This prevents manual builds from
conflicting with automatic builds triggered by fingerprint changes.
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* use xlarge runner for macos build
* try and fix yarn cache
* update actions/cache for pods step
* use expo github action main rather than v8
* update all actions to the same
* use yarn cache where missing