Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/build-wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,10 @@ jobs:
build-macos-arm:
name: Build macOS ARM64 wheels
if: ${{ !inputs.linux_only }}
runs-on: macos-14
# Pinned (not macos-latest) so an image rollover cannot change the release
# build unannounced. macos-14 was retired from GitHub Actions on 2026-11-02;
# see docs/dev-status.md "macOS wheel runner pinned to macos-15".
runs-on: macos-15
strategy:
matrix:
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14', '3.15']
Expand Down
6 changes: 6 additions & 0 deletions changelog.d/20261111-macos-15-wheel-runner.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
### Internal
- **Release wheel build moved off the retired `macos-14` runner**:
`build-wheels.yml`'s macOS ARM64 job now runs on `macos-15`. GitHub retired
the macOS 14 images from GitHub Actions on 2026-11-02, so every macOS wheel
job was rejected before starting and the next release could not have
published. No change to the library or to the published wheel set.
18 changes: 18 additions & 0 deletions docs/dev-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,24 @@ Every workflow's Linux job uses `runs-on: ubuntu-24.04`, not `ubuntu-latest` (pi
Un-pin only after both are fixed upstream and verified on a throwaway branch. The ARM
matrix entries already used the GitHub-hosted `ubuntu-24.04-arm` label and are unchanged.

## macOS wheel runner pinned to `macos-15`

`build-wheels.yml`'s macOS ARM64 job uses `runs-on: macos-15` (changed from `macos-14` on
2026-11-11). GitHub retired the macOS 14 images from GitHub Actions on 2026-11-02
([runner-images#13518](https://github.com/actions/runner-images/issues/13518)); after that
date every `macos-14` job is rejected before it starts (`The configuration
'macos-14-arm64-us-default' is not supported`), and because `publish.yml`'s upload job
`needs` the whole wheel matrix, a release could not publish at all.

- The job only runs at release time and on a manual `release-build-check.yml` dispatch
(the PR-triggered run is `linux_only`), so a retired label is invisible to PR CI. Run
`gh workflow run release-build-check.yml --ref <branch>` after any runner-label change.
- The label is pinned rather than `macos-latest` so an image rollover cannot change the
release build unannounced. When GitHub announces the macOS 15 retirement, move the pin
and re-run the full-matrix rehearsal, checking that the wheels keep the
`macosx_11_0_arm64` platform tag.
- `rust-test.yml`'s test matrix intentionally stays on `macos-latest`.

## MMM tutorial environments (notebooks 29 / 30)

The two executed MMM calibration tutorials need frameworks that CANNOT share one
Expand Down
Loading