ci: run macOS tests on Apple Silicon to avoid build-timeout flakiness - #1751
ci: run macOS tests on Apple Silicon to avoid build-timeout flakiness#1751kmatsunami wants to merge 1 commit into
Conversation
The swift-test-macos shards intermittently hit the 35-minute Swift Test step timeout — not a test failure. On macos-15-intel the cold build of the full test target + `swift test list` discovery eats most of the budget before tests run, so a slow build leaves too little time for the sharded groups and the step is killed mid-run. Apple Silicon (macos-15) builds Swift far faster, so the build fits within the existing budget. release-cli.yml's x86_64 (macos-15-intel) build is left untouched. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Codex review: needs real behavior proof before merge. Reviewed June 25, 2026, 6:51 AM ET / 10:51 UTC. Summary Reproducibility: yes. The cited current-main workflow run shows Review metrics: 2 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Either preserve Intel test coverage with a cache or build-step split, or explicitly accept ARM-only macOS CI after exact-head Actions proof shows the timeout is resolved. Do we have a high-confidence way to reproduce the issue? Yes. The cited current-main workflow run shows Is this the best way to solve the issue? Unclear. Switching to Apple Silicon is a narrow fix for build-time budget pressure, but the best solution depends on whether maintainers want to keep Intel test coverage through caching or a separate build step. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against ada3660e9d61. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
Closing — the exact-head CI proof refuted the premise of this PR. On the So the real cause of the shard-3 flakiness is Switching runners doesn't fix that, so this change isn't the right fix. The actual flaky suite should be fixed instead. Closing. |
Problem
swift-test-macosshards intermittently fail with a timeout, not a test failure. In run 28084754287 (push tomain), shard(3,4)'sSwift Teststep (timeout-minutes: 35) spent ~20 min building the full GUI-inclusive test target +swift test listdiscovery on the Intel runner before any test ran (08:13:31 → 08:33:19), leaving too little time for the 127 shardedswift testgroups (run withCODEXBAR_TEST_GROUP_SIZE=1). The step hit 35 min and was killed mid-run (log ends withTerminate orphan process: pid (swift)). No assertion failed.Root cause:
swift-test-macosruns onmacos-15-intel, where the cold Swift build of the test target is slow and variable, and the build runs inside the 35-min test budget with no.buildcache.Change
Run
swift-test-macoson Apple Silicon (macos-15) instead ofmacos-15-intel. ARM runners build Swift substantially faster, so the build fits comfortably within the existing 35-min budget. One line in.github/workflows/ci.yml.Trade-off / notes
release-cli.ymlstill builds it onmacos-15-intel(left untouched)..build(actions/cache) or movingswift build --build-testsinto a separate step outside the 35-min timeout. Happy to switch to either.🤖 Generated with Claude Code