Skip to content

Commit 7338a3e

Browse files
aapelivclaude
andcommitted
mobile: don't build production Android on the temp branch; add TEMP-MOBILE.md
Android can't be submitted from the temp validation branch, so its fingerprint marker is never written and it rebuilt on every pipeline. Gate the Android build to the release branch. Add TEMP-MOBILE.md listing all temporary CI wiring to revert before prod. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent d780963 commit 7338a3e

2 files changed

Lines changed: 51 additions & 0 deletions

File tree

TEMP-MOBILE.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# TEMP — mobile pipeline validation (revert before prod)
2+
3+
This branch (`mobile/v1.1.20`) carries temporary CI wiring used to validate the
4+
native build / OTA / TestFlight pipeline on-device. **All of the items below must
5+
be reverted before merging to `develop` / shipping to production.** They mostly
6+
make jobs that should run on the release branch (`develop`) run on this branch
7+
instead, and enable a store submit that should not happen from a feature branch.
8+
9+
Everything lives in `app/.gitlab-ci.yml` unless noted.
10+
11+
## Must revert
12+
13+
1. **`DEVTOOL_BUILD_BRANCH: mobile/v1.1.20`** (~line 20) — set back to `develop`.
14+
Controls where `build:devtool-native` runs.
15+
16+
2. **Per-job `TEMP` rules pinning to `mobile/v1.1.20`** — remove the extra
17+
`- if: $CI_COMMIT_BRANCH == "mobile/v1.1.20"` rule (and its TEMP comment) from
18+
each of these jobs, leaving only the `$CI_COMMIT_BRANCH == $RELEASE_BRANCH`
19+
rule:
20+
- `build:mobile-ota-staging`
21+
- `deploy:mobile-ota-staging`
22+
- `.production-native` (shared by the production native build jobs)
23+
- `build:mobile-ota-prod`
24+
- `preview:mobile-ota-prod`
25+
- `build:native-ota-manifest`
26+
- `deploy:native-ota-info`
27+
28+
3. **`deploy:production-native-ios`** — remove the TEMP rule that submits to
29+
TestFlight from this branch. Submits should only happen on `$RELEASE_BRANCH`.
30+
31+
4. **`build:production-native-android` `rules:` override** — this override
32+
(release-branch-only) was added to stop Android rebuilding every pipeline on
33+
the temp branch, since its submit (and therefore its fingerprint-marker write)
34+
is disabled here. Once item 2 removes `.production-native`'s TEMP rule, the
35+
parent is release-only again and this override is redundant — delete it so the
36+
job inherits `.production-native` like `build:production-native-ios`.
37+
38+
## Notes
39+
40+
- These are CI gating changes only; the Sentry setup, source-map upload, and the
41+
build-status check in `scripts/production-build.sh` are permanent and should
42+
stay.
43+
- Sanity check after reverting: no job rule should reference `mobile/v1.1.20`
44+
(`grep -n "mobile/v1.1.20" app/.gitlab-ci.yml` should return nothing).

app/.gitlab-ci.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,6 +1125,13 @@ build:production-native-android:
11251125
artifacts:
11261126
reports:
11271127
dotenv: app/mobile/native-build-android.env
1128+
# Override .production-native's TEMP rule: the Android submit is disabled on the
1129+
# temp branch (deploy:production-native-android is release-only), so there's no
1130+
# marker write and this would otherwise rebuild on every pipeline. Build Android
1131+
# only on the release branch, where build+submit+marker work end to end. Drop
1132+
# this override when the TEMP rules are reverted (see TEMP-MOBILE.md).
1133+
rules:
1134+
- if: ($BUILD_MOBILE == "true") && ($CI_COMMIT_BRANCH == $RELEASE_BRANCH)
11281135

11291136
deploy:production-native-ios:
11301137
extends: .production-native

0 commit comments

Comments
 (0)