Skip to content

ci(release-manifest): record every TestFlight build when it processes - #1088

Merged
bmc08gt merged 2 commits into
mainfrom
ci/release-manifest-schedule
Oct 18, 2026
Merged

bmc08gt merged 2 commits into
mainfrom
ci/release-manifest-schedule

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Oct 18, 2026 •

Copy link
Copy Markdown
Collaborator

The release manifest's testflight.build only moved when someone dispatched release-manifest.yml or ran deploy.yml with wait. Two of the three routes to TestFlight never recorded their build: the Xcode Cloud build a flipcash-* tag starts, and fastlane deploy run locally (what /deploy does). After flipcash-2026.10.3 the manifest stayed on 588, so TestFlight installs had nothing newer to report. A manual dispatch raised it to 589.

Each route now starts the same workflow, which waits for the build to process and then records it:

  • release-manifest.yml runs on a pushed flipcash-* tag, and takes a wait input. With wait, fastlane update_release_manifest wait:true polls until a processed build newer than the manifest's exists (up to 75 min, minting a fresh token on each poll as wait_for_build_run does), then records it.
  • fastlane deploy dispatches release-manifest.yml with wait=true right after it starts the Xcode Cloud build, whether or not it waits itself. The dispatch goes through gh and is best-effort: if it fails, the lane prints the command to run instead of failing the deploy. A dry run dispatches nothing.
  • deploy.yml drops its own three manifest steps, since the lane now covers them, and gets actions: write so its GITHUB_TOKEN can dispatch.
  • An hourly schedule stays as a backstop. The workflow's concurrency group keeps one pending run, so overlapping triggers can drop one, and a wait that times out records nothing. A run that finds nothing newer commits nothing. Removing the schedule block drops it.

Locally, fastlane update_release_manifest reports 589 and leaves the manifest alone; with the manifest set back to 588, wait:true wrote 589 straight away; fastlane deploy dry_run:true stops before the dispatch. The tag trigger and the dispatch from Actions only run on real events, so they haven't run yet.

@bmc08gt bmc08gt self-assigned this Oct 18, 2026
@bmc08gt bmc08gt changed the title ci(release-manifest): update the TestFlight build every 30 minutes ci(release-manifest): record every TestFlight build when it processes Oct 18, 2026
@bmc08gt
bmc08gt merged commit 67f8ce8 into main Oct 18, 2026
2 of 3 checks passed
bmc08gt added a commit that referenced this pull request Oct 19, 2026
* origin/main:
  feat(chat): pick a new group's currency from a full-width row (#1084)
  fix(core): round Decimal.doubleValue correctly (#1082)
  feat(flipcash): adopt ocp 0.8.0 and flipcash2 0.20.0 contracts (#1078)
  chore: bump version to 2026.10.4 (#1086)
  chore: record 2026.10.3 as the production release (#1089)
  ci(release-manifest): record every TestFlight build when it processes (#1088)
  build: update release manifest
  test: stop four retry-only tests failing on a loaded runner (#1087)
  fix: clear the 2026.10.3 release test gate (#1085)
  build: update release manifest
  fix(chat): cap the attach card's corner radius at 40pt on iOS 26 (#1081)
  feat(update): check for an update every time the app returns from the background (#1080)
  build: update release manifest
  chore(chat): log where the inline photo picker flow stops (#1079)
  build: update release manifest
  fix(chat): open the author's profile from the avatar beside a photo (#1077)
  feat(chat): forward a message through the share sheet (#1076)
  feat(chat): draw message links as a message card (#1057)

# Conflicts:
#	FlipcashCoreVectors/Tests/FlipcashCoreVectorsTests/MultiPaymentIntentVectorTests.swift
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant