Skip to content

ios(ci): native-runtime bridge compile test uses a fixed 45 s budget that trips on a cold runner #2439

Description

@thymikee

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions