Split out of #2422 (its third site; PR #2423 covers the two identity-probe sites only).
Symptom
iOS Smoke Tests, step Verify clean-installed Simulator snapshot bridge preparation, fails inside the unit test packages/platform-apple/src/snapshot-source/native-runtime.test.ts (lines 13-32 at 9d7d60c5e0): it compiles the snapshot bridge with xcrun --sdk iphonesimulator clang … under a fixed timeoutMs: 45_000, and on a cold runner reports xcrun timed out after 45000ms. Seen on PR #2421 (run 34366211699, 2026-09-09 14:54) and PR #2420 (2026-09-09 10:49). Every other check green; the branches did not touch the bridge.
Cause
The first xcrun on a fresh macOS host pays the signature-scan stall (#2422) and then the clang compile itself; a fixed 45 s budget sized for a warm host trips. The production path budgets the same compile with BUILD_TIMEOUT_MS bounded by the 120 s snapshot-source deadline (packages/platform-apple/src/snapshot-source/cache.ts), so the test's budget is stricter than production's.
Required behavior
Pick one:
- Budget the test compile from a deadline the way production does (
createSnapshotSourceDeadline(120_000, …) and remainingSnapshotSourceMs), so the unit test is never stricter than the code it tests; or
- Skip the compile in the unit lane when the CI step has already verified it against the clean-installed package moments earlier (the step runs
verify-installed-snapshot-bridge.ts right after), keeping one compile per job.
Either way: no rerun needed on that signature afterwards; record the run URL if it fires again.
Non-goals
Widening the identity-probe budgets (done in #2423) or the production BUILD_TIMEOUT_MS.
Split out of #2422 (its third site; PR #2423 covers the two identity-probe sites only).
Symptom
iOS
Smoke Tests, stepVerify clean-installed Simulator snapshot bridge preparation, fails inside the unit testpackages/platform-apple/src/snapshot-source/native-runtime.test.ts(lines 13-32 at9d7d60c5e0): it compiles the snapshot bridge withxcrun --sdk iphonesimulator clang …under a fixedtimeoutMs: 45_000, and on a cold runner reportsxcrun timed out after 45000ms. Seen on PR #2421 (run 34366211699, 2026-09-09 14:54) and PR #2420 (2026-09-09 10:49). Every other check green; the branches did not touch the bridge.Cause
The first
xcrunon a fresh macOS host pays the signature-scan stall (#2422) and then the clang compile itself; a fixed 45 s budget sized for a warm host trips. The production path budgets the same compile withBUILD_TIMEOUT_MSbounded by the 120 s snapshot-source deadline (packages/platform-apple/src/snapshot-source/cache.ts), so the test's budget is stricter than production's.Required behavior
Pick one:
createSnapshotSourceDeadline(120_000, …)andremainingSnapshotSourceMs), so the unit test is never stricter than the code it tests; orverify-installed-snapshot-bridge.tsright after), keeping one compile per job.Either way: no rerun needed on that signature afterwards; record the run URL if it fires again.
Non-goals
Widening the identity-probe budgets (done in #2423) or the production
BUILD_TIMEOUT_MS.