Skip to content

ci(e2e): give the iOS build room to finish a cold build - #106

Merged
GSTJ merged 1 commit into
mainfrom
ci/e2e-build-timeout
Jul 27, 2026
Merged

ci(e2e): give the iOS build room to finish a cold build#106
GSTJ merged 1 commit into
mainfrom
ci/e2e-build-timeout

Conversation

@GSTJ

@GSTJ GSTJ commented Jul 27, 2026

Copy link
Copy Markdown
Owner

The push-to-main run for #105 came back cancelled with no error in the log. Worth ruling out the usual suspects first: it was not concurrency (cancel-in-progress is scoped to pull_request, so a push-to-main run is never killed by a newer one) and not a lost runner.

Build iOS (required) ran out its timeout-minutes: 45. Actions reports a timed-out job as cancelled, which is why the run looks like someone hit the button.

The margin was never there. Timings from the two runs:

run job time budget
main @ 12:07 (green) 44m50s 45m
main @ 19:30 (cancelled) 45m00s 45m

Ten seconds. A cold .app cache makes the job pay for a full Xcode release build — 31 minutes in the failed run — plus the simulator boot, so whether main went green came down to how fast a given macOS runner felt that morning.

It also compounds: the cancel skipped every cache-save post step, so the next run starts cold too and re-rolls the same dice.

Both iOS build jobs go to 75 minutes. A warm fingerprint hit still finishes in minutes — this only buys the cold path enough room to land.

Claude-Session: https://claude.ai/code/session_01Fe92vvdc4R3F4BDBFoLcw1

The push-to-main run for #105 came back `cancelled` with no error in the
log. It was not concurrency — cancel-in-progress is scoped to pull_request
— and not a lost runner. `Build iOS (required)` simply ran out its
`timeout-minutes: 45`, and Actions reports a timed-out job as cancelled.

The margin was never there to begin with. The last green run on main took
44m50s for the same job: ten seconds of slack. A cold .app cache makes the
job pay for a full Xcode release build (31m) plus the simulator boot, so
whether main goes green came down to how fast a given macOS runner felt
that morning. The cancel also skipped every cache-save post step, so the
next run starts cold again and re-rolls the same dice.

Raise both iOS build jobs to 75 minutes. A warm fingerprint hit still
finishes in minutes; this only buys the cold path enough room to land.

Claude-Session: https://claude.ai/code/session_01Fe92vvdc4R3F4BDBFoLcw1
@GSTJ
GSTJ merged commit b251dfa into main Jul 27, 2026
9 checks passed
@GSTJ
GSTJ deleted the ci/e2e-build-timeout branch July 27, 2026 22:18
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