Skip to content

ci: stop scheduling hosted macOS runners in CI - #808

Merged
zackees merged 1 commit into
mainfrom
ci/drop-hosted-macos-from-full-ci
Nov 2, 2026
Merged

zackees merged 1 commit into
mainfrom
ci/drop-hosted-macos-from-full-ci

Conversation

@zackees

@zackees zackees commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator

Root cause

Full CI on main, run 41495193520 (b0b7fa2): Hosted macOS wheel smoke (aarch64-apple-darwin) was cancelled after 15 minutes with an empty runner_name, meaning no runner ever picked it up. Full CI coverage then printed Hosted macOS wheel smoke (aarch64-apple-darwin): cancelled and CI summary failed. Both did the right thing. The defect was .github/workflows/ci.yml scheduling darwin-hosted-smoke on macos-15 / macos-15-intel (push, schedule and ci-full only, never in the merge queue). ci/lint_no_macos_runners.py _allowed_job whitelisted that job, so CI policy (no hosted macOS runners) passed in that same run.

Change

  • Remove darwin-hosted-smoke from ci.yml and from ci/verify_full_coverage.py REQUIRED. The Linux-hosted Soldr Darwin wheels plus verify_cross_wheel.py already cover the build and Mach-O checks, and x86_64 still executes in the advisory Recovery lane.
  • Lint: the only allowed hosted Mac job is now auto-release.yml's release smoke. A test proves the old ci.yml job shape is now rejected.
  • Rulesets are unchanged: single CI summary, 5/5/ALLGREEN/60. The gate still fails on cancelled.

Trade-off: arm64 wheel execution is now proven only at release time, by the release smoke.

Labelled ci-full so this PR runs the full tier and Full CI coverage gets exercised without the Mac cells.

🤖 Generated with Claude Code

@zackees zackees added the ci-full Run the complete release-equivalent CI matrix on this PR SHA label Nov 2, 2026
Full CI on main (run 41495193520) failed because 'Hosted macOS wheel smoke
(aarch64-apple-darwin)' sat 15 min without a runner and was cancelled, which
Full CI coverage and CI summary correctly refused. The same run passed
'CI policy (no hosted macOS runners)', because that lint allowlisted the job.

Darwin wheels are already built and statically verified on Linux through
Soldr (Darwin wheel ... Linux-hosted Soldr), and x86_64 executes in the
advisory Recovery lane. Drop the hosted smoke from ci.yml and from
verify_full_coverage REQUIRED; arm64 execution stays in auto-release.yml's
release smoke, the only job the lint now allows. Gate semantics unchanged:
cancelled still fails.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Local-Gate: v1 tree=b6e718f9b88b6fab30acd0ff11be6dccfd68ea18 secs=276 lanes=rust:run,tests:run
Ci-Attestation: {"at":1793657506,"gate":"rust/all/fmt","host":"linux-x86_64","key":"544c5da56af8a202bb3cafb0812e0f47b7a4f9274158c83b77c1b16e64258e17","lane":"rust","parents":["b0b7fa2626598a4551cff81d827a6c75b263ce39"],"secs":184,"stamp":"609f0d8db9465f1e95fc18783df9d8be","tree":"b6e718f9b88b6fab30acd0ff11be6dccfd68ea18","v":1,"via":"run"}
Ci-Attestation: {"at":1793657506,"gate":"rust/all/boundary","host":"linux-x86_64","key":"544c5da56af8a202bb3cafb0812e0f47b7a4f9274158c83b77c1b16e64258e17","lane":"rust","parents":["b0b7fa2626598a4551cff81d827a6c75b263ce39"],"secs":184,"stamp":"15762a929bbfb22c17bbe2e1b2847c63","tree":"b6e718f9b88b6fab30acd0ff11be6dccfd68ea18","v":1,"via":"run"}
Ci-Attestation: {"at":1793657506,"gate":"rust/x86_64-unknown-linux-gnu/clippy","host":"linux-x86_64","key":"544c5da56af8a202bb3cafb0812e0f47b7a4f9274158c83b77c1b16e64258e17","lane":"rust","parents":["b0b7fa2626598a4551cff81d827a6c75b263ce39"],"secs":184,"stamp":"cfe6a697cd2d9c497b184738f33da149","tree":"b6e718f9b88b6fab30acd0ff11be6dccfd68ea18","v":1,"via":"run"}
Ci-Attestation: {"at":1793657506,"gate":"rust/x86_64-unknown-linux-gnu/test","host":"linux-x86_64","key":"544c5da56af8a202bb3cafb0812e0f47b7a4f9274158c83b77c1b16e64258e17","lane":"rust","parents":["b0b7fa2626598a4551cff81d827a6c75b263ce39"],"secs":184,"stamp":"4a3f3a87998f314cc8800fce156644d5","tree":"b6e718f9b88b6fab30acd0ff11be6dccfd68ea18","v":1,"via":"run"}
Ci-Attestation: {"at":1793657506,"gate":"python/all/static","host":"linux-x86_64","key":"3c4b1ac53360363ef301965a65240173851feabe186ec6eb81fac3189b269b07","lane":"tests","parents":["b0b7fa2626598a4551cff81d827a6c75b263ce39"],"secs":275,"stamp":"9c6325000d48b43194343ca824af4ca4","tree":"b6e718f9b88b6fab30acd0ff11be6dccfd68ea18","v":1,"via":"run"}
Ci-Attestation: {"at":1793657506,"gate":"general/all/ci-policy","host":"linux-x86_64","key":"3c4b1ac53360363ef301965a65240173851feabe186ec6eb81fac3189b269b07","lane":"tests","parents":["b0b7fa2626598a4551cff81d827a6c75b263ce39"],"secs":275,"stamp":"8ab1acd092c755d247fae3a5384fa0db","tree":"b6e718f9b88b6fab30acd0ff11be6dccfd68ea18","v":1,"via":"run"}
Ci-Attestation: {"at":1793657506,"gate":"python/x86_64-unknown-linux-gnu/test","host":"linux-x86_64","key":"3c4b1ac53360363ef301965a65240173851feabe186ec6eb81fac3189b269b07","lane":"tests","parents":["b0b7fa2626598a4551cff81d827a6c75b263ce39"],"secs":275,"stamp":"c41165dd8d02a598b7ef300dc69bd8fa","tree":"b6e718f9b88b6fab30acd0ff11be6dccfd68ea18","v":1,"via":"run"}
@zackees
zackees force-pushed the ci/drop-hosted-macos-from-full-ci branch from 9b8f7a8 to ab3dd4d Compare November 2, 2026 22:11
@zackees
zackees added this pull request to the merge queue Nov 2, 2026
Merged via the queue into main with commit 36ca382 Nov 2, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-full Run the complete release-equivalent CI matrix on this PR SHA

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant