You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
perf(ci): overlap iOS simulator boot with the native build - #3836
Existing boot-action callers keep blocking behavior. The bounded wait and native failure exits have one shared owner. Test selection and runtime behavior stay unchanged.
Five files, +260/-16 (276 gross): CI/tooling +48/-16, tests +155/-0, evidence +57/-0; production +0/-0.
Validation
Tested 7606f85d717f32011c92f981008be05754d1a175: pnpm check:affected --run --head HEAD passed (36 checks; 25 skipped; 2 deduplicated), exactCommit=true, checkoutChanged=false. Independent review: no findings.
Four fresh Xcode 26.2/iOS 26.2 native build/boot comparisons passed. Mean local preparation: 40.739s serial → 29.653s overlapping, 27.2% lower. Builds slow under contention; combined preparation still improves in both comparisons. All owned simulators removed. Commands, timings and limitations.
Required hosted CI passed at this head, including Apple/Android/Linux smoke, Coverage and Integration. Apple completed in 20m52s, versus the earlier 23m49s. Cache and test timing differences prevent attributing the entire improvement to overlap. Cache matrix skipped; automated review neutral.
Hosted validation passed at 7606f85d717f32011c92f981008be05754d1a175, including Apple, Android and Linux smoke, Coverage and Integration. No unresolved review threads.
The Apple job completed in 20m52s, versus 23m49s in the earlier baseline. iOS took 15m02s and macOS 4m40s. The readiness barrier succeeded, all four selected iOS regressions ran, and the macOS runner suite executed 338 tests with zero failures.
This is an observed 2m57s shorter job, not a controlled measurement of the overlap alone: runner restore/build took about 5m24s, while fixture E2E took 3m37s versus the previous 6m52s. The four controlled local preparation samples remain the evidence for the overlap benefit (mean 40.739s serial → 29.653s overlapping). No test coverage was removed by this PR.
This PR is ready at 7606f85. All 16 checks pass at that commit, including the hosted Apple job, which ran the changed smoke-ios-run route through deferred boot, build, the readiness barrier, XCTest and the CLI preflight. There are no conflicts, and nothing else must happen before merge. I read the diff but did not run the tests or workflows, and I could not verify the local benchmark numbers or the hosted timing comparison, which the PR notes is affected by cache and test timing differences.
Not blocking, and fine to take or leave: the boot-timeout-seconds output in .github/actions/boot-ios-test-simulator/action.yml only echoes its input, so naming it as the deferred-wait budget or passing it explicitly from the caller would make it clearer. The boot action and scripts/wait-for-ios-simulator.sh tests sit in apple-ci-impact.test.ts and stub the alarm path with exit code 142, so a test file named for the script would cover it better. The evidence doc points to a /private/tmp path that others cannot open, and the PR body is over the 250-word limit in docs/agents/pull-requests.md.
Preview removed because the pull request was closed.
2026-10-20 07:15 UTC
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ready-for-humanValid work that needs human implementation, judgment, or maintainer merge
1 participant
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Validation
7606f85d717f32011c92f981008be05754d1a175:pnpm check:affected --run --head HEADpassed (36 checks; 25 skipped; 2 deduplicated),exactCommit=true,checkoutChanged=false. Independent review: no findings.