Repository navigation
ci: move the release wheel build off the retired macos-14 runner (pin macos-15) - #889
Conversation
… macos-15) GitHub retired the macOS 14 images from GitHub Actions on 2026-11-02 (actions/runner-images#13518). build-wheels.yml's macOS ARM64 job still requested `runs-on: macos-14`, so all seven macOS wheel jobs are now rejected before starting ("The configuration 'macos-14-arm64-us-default' is not supported"). publish.yml's upload job needs the whole wheel matrix, so the next release could not have published. - build-wheels.yml: macOS ARM64 job runs on macos-15 (pinned rather than macos-latest so an image rollover cannot change the release build unannounced). - docs/dev-status.md: record the pin, why PR CI cannot see a retired label on this job, and the rehearsal to run on the next label change. - changelog.d: Internal fragment.
Overall assessment: ✅ Looks goodNo findings identified in the supplied diff. Executive summary
MethodologyNo findings. No estimators, weighting, variance, inference, or identification assumptions change. The Methodology Registry introduces no applicable paper-validation requirement for this runner update. Code QualityNo findings. The runner change preserves the existing macOS job configuration at PerformanceNo findings. The diff introduces no additional jobs or build steps. MaintainabilityNo findings. The explicit runner label and documented migration procedure make future major image changes deliberate ( Tech DebtNo findings. No new deferred implementation work is introduced. SecurityNo findings. The diff adds no credentials, permissions, external actions, or executable shell content. Documentation/TestsNo findings. The fragment follows Local verification passed for the changelog compiler and YAML assertions covering the runner label, seven Python versions, PR filtering, and release dependency wiring. Hosted macOS execution remains outside this local verification. |
Summary
build-wheels.yml's macOS ARM64 job moves fromruns-on: macos-14toruns-on: macos-15. GitHub retired the macOS 14 images from GitHub Actions on 2026-11-02 (actions/runner-images#13518), so all seven macOS wheel jobs are now rejected before starting (The configuration 'macos-14-arm64-us-default' is not supported).publish.yml's upload job needs the whole wheel matrix, so the next release could not have published.macos-latestso an image rollover cannot change the release build unannounced (same posture as theubuntu-24.04pins).rust-test.yml's test matrix stays onmacos-latest.docs/dev-status.mdrecords the pin, why PR CI cannot see a retired label on this job (it only runs at release time and on a manualrelease-build-check.ymldispatch; the PR-triggered run islinux_only), and the rehearsal to run on the next label change.Methodology references (required if estimator / math changes)
Validation
tests/test_changelog_fragments.pyandtests/test_tracking_files.pypass with the new fragment and dev-status note).release-build-check.ymldispatch on 2026-11-10 (run 42828103906) - Linux, Windows, and sdist jobs passed; all 7 macOS jobs were rejected with the unsupported-configuration error.5eeb5ad1(run 43038798669): all 17 jobs pass, including macOS ARM64 for Python 3.9 - 3.15 on imagemacos-15-arm64.macosx_11_0_arm64platform tag. Comparing the rehearsal cp312 wheel against the published 4.0.0 cp312 wheel:LC_BUILD_VERSION minosis 11.0 in both (only the build SDK moves, 14.5 -> 15.5), the linked libraries are identical (libc++,libiconv,Accelerate,libSystem), and both were generated by maturin 1.16.0.Security / privacy
Changelog