Skip to content

ci: move the arm64 macOS legs from macos-14 to macos-15 (retired 2026-11-02) - #1413

Merged
wshlavacek merged 3 commits into
lanl:mainfrom
Montana:ci/macos-14-retired
Oct 30, 2026
Merged

wshlavacek merged 3 commits into
lanl:mainfrom
Montana:ci/macos-14-retired

Conversation

@Montana

@Montana Montana commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

GitHub retires the macos-14 runner image on 2026-11-02. Until then it cancels every macos-14 job during scheduled brownouts (actions/runner-images#13518):

  • 14:00 to 24:00 UTC on Oct 29, 30 and 31 and Nov 1;
  • after Nov 2, every macos-14 job fails, on every PR.

Today #1412's three macOS legs were cancelled after 1 s each, twice:

  • Python suite · macos-14 · 1/2 and 2/2;
  • MIR codegen · macos-14.

The annotation reads "This job failed because of a scheduled macOS 14 runner image brownout."

Change

macos-14 → macos-15 (arm64) in every runner list:

file job
.github/workflows/python-tests.yml the Python suite leg, its label, and the counts job's label list
.github/workflows/mir.yml MIR codegen
.github/workflows/wheels.yml arm64 wheels
.github/workflows/release.yml arm64 release wheels

It mirrors 2ed5c4d, which moved the Intel legs from the retired macos-13 to macos-15-intel.

  • Wheels: they keep MACOSX_DEPLOYMENT_TARGET: "11.0", so the arm64 wheel still targets macOS 11; only the build host changes.
  • Text references: native-tests.yml's comment, SUPPORT_MATRIX.md (the wheel-matrix row and the Python-gate sentence) and python/tests/conftest.py's comment describe the current CI, and are updated. Historical mentions (CHANGELOG, test comments about past macos-14 runs) are left as they were.

For a maintainer

  • Required checks: the check names change, from Python suite · macos-14 · 1/2 to · macos-15 · 1/2, and the same for MIR codegen and Python suite counts. If branch protection lists the old names as required, they need updating, or every PR will wait on checks that never run. I can't read the protection settings from the fork (404).
  • Build cache: the leg's cache key moves (python-tests-macos-15-build), so its first run builds cold.

Not verified

This PR's own CI is the first run on macos-15. wheels.yml and release.yml run only on their own triggers, so their arm64 legs aren't exercised here.

Montana and others added 3 commits October 30, 2026 11:42
GitHub retires the macos-14 runner image on 2026-11-02, and until then
cancels every macos-14 job during scheduled brownouts (runner-images
#13518): lanl#1412's three macOS legs were cancelled after a second each,
twice, on 2026-10-30. After the retirement they fail on every PR.

The Python suite, MIR codegen, wheel and release legs move to macos-15
(arm64), as the Intel legs moved from macos-13 to macos-15-intel. The
wheels keep MACOSX_DEPLOYMENT_TARGET=11.0, so what they support does not
change.
…e Intel leg's

ccache-action saves under <key>-<timestamp> and restores by prefix. With
the arm64 leg renamed to macos-15, its prefix ccache-mir-macos-15- also
matches ccache-mir-macos-15-intel-<timestamp>, and the restore takes the
newest match. The Intel leg is the slower of the two (it saved 6.5 minutes
after the arm64 leg on this pull request's run), so on main the arm64 leg
would restore the Intel leg's x86_64 objects most runs. python-tests.yml
hit the same thing between ubuntu-latest and ubuntu-latest-lapack and
ends its keys in -build for that reason; mir.yml now does the same.

Also: test_switch_residual_unfused.py names CI's arm64 leg as the build
that fuses, in the present tense, so it follows the leg to macos-15.
@wshlavacek
wshlavacek merged commit 6d4db53 into lanl:main Oct 30, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants