Repository navigation
ci: drop the macOS test legs and release slice; add Linux arm64 test legs - #532
Merged
Merged
Conversation
…rm64 test legs Tests no longer run on macOS, and the release stops building and publishing a macOS archive. Linux x86_64 and arm64 are the supported platforms. - ci-post.yml: remove job build-macos. Add job build-arm (hosted ubuntu-24.04-arm, Release and Debug) that runs the same verification steps as job build; the aggregate build job now requires both. A preflight check keeps the two jobs' steps identical. - release.yml: remove the macos-universal matrix slice, its Eigen step, the extra CMake flags it used and the shasum fallback; the release notes name the Linux archives. - ci_release_gate.py: the required post-merge legs are build (ubuntu-24.04, Release|Debug) and build (ubuntu-24.04-arm, Release|Debug), derived from one constant. A run missing any of the four is refused; a run with no macOS leg is accepted. - ci_preflight.py and its tests: pin the new job and matrix, drop every macOS pin, and refuse a macOS step in the release prebuilt job. New rows cover a leftover macOS job, a gate that does not need build-arm, an arm job on a non-arm runner, a missing build_type cell, and the gate's missing-leg and macOS-absent cases. - ci.yml and docs/ci.md: comments and sentences that named macOS legs. Sentences of docs/ci.md that leave with the macOS legs, named by the commits that introduced them so the doc-reverts check can match them: the two sentences about the post cells and the hosted macOS image (b0f4341), the sentence about the hosted macOS runner's CPU ratio (4923abf, 7b37d91), the sentence about macOS Debug and pull requests (eed6598) and the sentence that all four full build cells keep their check names (3a0d150). Not run on the author's machine. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Collaborator
Author
|
Evidence for this change, gathered before the merge (the x86_64 post-merge legs cannot run from a branch, so they run on main after the merge):
The follow-up that moves the arm64 legs to the larger hosted arm runner (16 cores) is a separate change. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Tests no longer run on macOS, and the release stops building and publishing a macOS archive. Linux x86_64 and arm64 are the supported platforms. The post-merge workflow gains hosted Linux arm64 test legs that run the same verification as the x86_64 legs.
What changes
.github/workflows/ci-post.yml: remove jobbuild-macos. Add jobbuild-arm(hostedubuntu-24.04-arm, Release and Debug) with the same steps andci_verifyprofiles as jobbuild. The aggregatebuildjob now needs and requires both.scripts/ci_preflight.pypins that the two jobs keep identical steps (the platform step and the diagnostics artifact name are the only allowed differences)..github/workflows/release.yml: remove themacos-universalprebuilt slice, its Eigen step, the extra CMake flags it used and theshasumfallback. The release notes name the Linux archives.prebuiltis pinned to the two Linux triples, and preflight refuses any macOS step in that job.scripts/ci_release_gate.py: the required post-merge legs arebuild (ubuntu-24.04, Release|Debug)andbuild (ubuntu-24.04-arm, Release|Debug), derived from one constant. A run missing any of the four is refused with the leg named. A run with no macOS leg is accepted.scripts/ci_preflight.py,scripts/test_ci_preflight.py,scripts/test_ci_release_gate.py: pins and tests for the above, with rows for a leftover macOS job, a gate that does not needbuild-arm, an arm job on a non-arm runner, a missingbuild_typecell, a missing Linux leg, and a run without macOS legs..github/workflows/ci.yml,docs/ci.md: comments and sentences that named macOS legs. The sentences that leavedocs/ci.mdare named in the commit message (b0f4341, 4923abf, 7b37d91, eed6598, 3a0d150) for the doc-reverts check; a squash message must keep those names.Not in this change: README and install pages that still mention macOS (a separate documentation change) and the hub's release-asset expectation.
Evidence
preflighton this exact tree (2cf84eb14b04, jobrj-20261026t140203-ee5171): passed, all 59 stages, including doc-anchors, doc-lint and doc-reverts.build (ubuntu-24.04-arm, Debug)passed in 20 minutes, 1179 of 1179 tests; the Release leg was still running when this was written. The x86_64 legs cannot run on a branch dispatch (the post fleet serves main and dev only), so the four-leg proof is the ci-post run on main after the merge.Risk and rollback
The arm Release leg's wall time and its CPU runtime-ratio margin are not yet measured. If the ratio is above the ceiling, set the documented candidate-only escape for that leg rather than loosening the ceiling. Revert this commit to restore the macOS legs and the macOS archive.
🤖 Generated with Claude Code