Skip to content

[infra][CI] Deal with the sunset of macos-13 @ GHA by Sep 1, 2025 #137638

Description

@webknjaz

So GH is dropping [1][2] native x86-64 (intel) macOS runners for FOSS by getting rid of the macos-13 VM. 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

Activity

  1. hugovk commented on Aug 11, 2025

    @hugovk
    Member

    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-15 was planned for GA in January 2025 and finally out in April 2025. macos-13 is being removed between September-November 2025.

    If macOS 29 is released in October 2028, depending on how quickly macos-29 is GA, we may only have +6 months until macos-27 is 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?

  2. encukou commented on Aug 11, 2025

    @encukou
    Member

    Looks 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.

  3. encukou commented on Aug 12, 2025

    @encukou
    Member

    The discussion would be better on Discourse. I opened a topic: https://discuss.python.org/t/dropping-intel-mac-to-tier-2/102100

  4. gpshead commented on Aug 15, 2025

    @gpshead
    Member
  5. added 3 commits that reference this issue on Aug 20, 2025
  6. added a commit that references this issue on Sep 13, 2025
  7. added a commit that references this issue on Oct 3, 2025
  8. added a commit that references this issue on Oct 3, 2025
  9. added a commit that references this issue on Oct 3, 2025
  10. added a commit that references this issue on Oct 7, 2025
  11. added 3 commits that reference this issue on Oct 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    OS-macinfraCI, GitHub Actions, buildbots, Dependabot, etc.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions