Repository navigation
[infra][CI] Deal with the sunset of macos-13 @ GHA by Sep 1, 2025 #137638
Description
Activity
- addedinfraCI, GitHub Actions, buildbots, Dependabot, etc.CI, GitHub Actions, buildbots, Dependabot, etc.
on Aug 11, 2025 Apple support:
- macOS 26 (to be released ~October 2025) will be the last to support Intel
- Apple usually supports each release for three years
- macOS 26 supported until ~October 2028
- Current Intel machines will be supported until ~October 2027
- The last Intel ones until ~October 2028
One option is to find another runner host. Cirrus dropped Intel in December 2022. CircleCI dropped Intel in June 2024. Are there any vendors offering Intel?
It could be self-hosted, but GitHub says they "recommend that you only use self-hosted runners with private repositories".
This doesn't look promising given GitHub, Cirrus and CircleCI have/are dropping Intel.
Another option is to drop Intel from GitHub Actions, which means they're no longer tier 1. We do have x86-64 macOS buildbots so they could remain tier 2. Tier 1 and 2 both block a release, we will just find out about the failure a bit later.
I thnk this would be the easiest in terms of CI maintenance. We need to keep the existing buildbot going. Some things would fail after merge, and we'd need to address them within 24 hours. Releases are still blocked if Intel fails, users should still be able to use Intel.
A third option is to build and test using Rosetta2, to run Intel binaries on Apple Silicon. This will be supported for macOS 26 (~Oct 2025) and 27 (~Oct 2026), so until ~Oct 2029.
We'll have to evaluate this. @ned-deily can tell us more.
However, note GitHub's N-1 OS support policy means the image might be removed a few months before Oct 2029:
- We support (at maximum) 2 GA images and 1 beta image at a time. We begin the deprecation process of the oldest image label once the newest OS image label has been released to GA.
Looking at the last one, macOS 15 was released in September 2024,
macos-15was planned for GA in January 2025 and finally out in April 2025.macos-13is being removed between September-November 2025.If macOS 29 is released in October 2028, depending on how quickly
macos-29is GA, we may only have +6 months untilmacos-27is removed, so at most perhaps 7 months before October 2028.Anyway, that would be the tail end of Intel support, so I think it'd be okay to let it drop to tier 2, if not remove entirely.
Any other suggestions?
Reacted by Petr Viktorin, 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) and Itamar OrenLooks like if a champion doesn't show up to do a bunch of work for a moribund platform, dropping to Tier 2 is the way.
Reacted by Victor Stinner, 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко), Itamar Oren, Zachary Ware and Hugo van KemenadeThe discussion would be better on Discourse. I opened a topic: https://discuss.python.org/t/dropping-intel-mac-to-tier-2/102100
Reacted by Hugo van Kemenade and 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)python/peps#4548 proposed.
Reacted by Hugo van Kemenade, Victor Stinner and 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)- linked a pull request that will close this issuegh-137638: Remove macos-13 from GitHub Actions #137989
on Sep 5, 2025 - marked JIT CI will break with deprecation of x86_64 macOS runners #139153 as a duplicate of this issue
on Sep 29, 2025 - added a commit that references this issue
on Oct 3, 2025
So GH is dropping [1][2] native x86-64 (intel) macOS runners for FOSS by getting rid of the
macos-13VM. The CPython's CI is using it for builds in forks (and the upstream is relying on the Cirrus-provided image instead).This is a tracking issue for figuring out how to best handle it before it starts causing disruption: brownouts will begin on Sep 1 (bringing flakiness into the CI runs in forks for the following 2.5 months), and the image will be gone completely on Nov 14.
Linked PRs