Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macOS 12 GitHub-hosted runners will stop working from 2024-12-03 #21333

Open
huonw opened this issue Aug 21, 2024 · 1 comment · Fixed by #21569
Open

macOS 12 GitHub-hosted runners will stop working from 2024-12-03 #21333

huonw opened this issue Aug 21, 2024 · 1 comment · Fixed by #21569
Labels
category:internal CI, fixes for not-yet-released features, etc.

Comments

@huonw
Copy link
Contributor

huonw commented Aug 21, 2024

https://github.blog/changelog/2024-08-19-notice-of-upcoming-deprecations-and-breaking-changes-in-github-actions-runners/

macOS12 runner image
We are beginning the deprecation process for the macOS 12 runner image, which allows us to balance our fleet capacity ahead of our upcoming macOS 15 launch. This image will be fully retired by the December 3rd, 2024. We recommend updating workflows to use macos-14, macos-13, or macos-latest.

See also:

@huonw huonw added the category:internal CI, fixes for not-yet-released features, etc. label Aug 21, 2024
huonw added a commit that referenced this issue Aug 21, 2024
This introduces a warning if pants is being run on macOS 10.15 or macOS
11, since those OSes are out of support and are becoming increasingly
hard to run on CI. This is being deprecated in version 2.23, and will
become an error in 2.24.

This is a short timeline because I think we've left this a bit too late,
and we need to start moving off them soon, e.g. even macOS 12 is likely
to leave support soon, and will start disappearing from CI platforms
(#21333).

This removing of these platforms will lose official support for this
hardware:

- iMacs, MacBook Airs, MacBook Pros before 2015
- Macbooks before 2016
- Mac Mini before 2014

Along with any newer hardware that hasn't updated the OS.

NB. this is a deprecation, not a hard-removal, so hopefully anyone who
really needs it will let us know, and can volunteer time and/or money to
keep this platform support available.

Fixes #21074
huonw added a commit that referenced this issue Sep 23, 2024
This removes our use of the self-hosted 10.15 x86-64 runner in favour of
a GitHub-hosted macOS 12 runner, implicitly changing our macOS version
support in the process.

Note: these macOS 12 runners are disappearing in #21333, so I think 2.24
will have to be the last release supporting macOS 12 "properly", and
hopefully we'll have finished that release series before GitHub gets rid
of them.

An alternative that doesn't limit us to GitHub's timelines would be
upgrading OS on the self-hosted runner. I'm disinclined from the
alternative. Landing this PR as-is theoretically allows us to turn off
the self-hosted runner and save money.

Half of #21413
@huonw huonw closed this as completed in ddee75f Oct 30, 2024
@huonw
Copy link
Contributor Author

huonw commented Nov 6, 2024

Hm, I don't think this is properly completed:

  • Deprecate running on macOS 12 (and 13, for arm64) #21569 just deprecated running on macOS-12, we need to switch main to macOS-13/14...
  • even once we do that, we still use the macOS-12 runner on the 2.23.x branch, and on the upcoming 2.24.x one (note we haven't released 2.23.0 stable yet)

We do not have much time before the deadline of Dec 3, and this is the platform support for current releases:

version branch macOS version (x86-64) macOS version (arm64)
2.22.x 2.22.x 10.15 (self-hosted) 11 (self)
2.23.x 2.23.x 10.15 (self) 11 (self)
2.24.x main (currently)/2.24.x (soon) 12 (GitHub-hosted) 11 (self)
2.25.x main (soon) 13 (GH) 14 (GH)

So, it looks like only the 2.24.x branch will cause a problem, since it's the only one using the GitHub-hosted macOS-12 runners. Note, even if we were to get 2.24.0 out within the next month, we'll have problems with patch releases (2.24.1 etc.).

Some options:

  1. plan on only doing 2.24.0 and then rolling on to 2.25.x immediately (i.e. no releases after 2.24.0)
  2. accelerate the deprecation of macOS 12 to 2.23.x (that release is still built on 10.15 and 11 respectively, but emits deprecation warnings if running on them)
  3. switch 2.24.x back to use the 10.15 self-hosted runner (but still deprecate running on macOS <= 12 (x86-64) or 13 (arm64))

I'm inclined to 3, it means we have to keep the self-hosted runners around for longer (until we close the 2.24.x milestone, this becomes encouragement to keep the releases going regularly), but is the simplest to administer and seems lowest risk.

@huonw huonw reopened this Nov 6, 2024
@huonw huonw modified the milestone: 2.22.x Nov 6, 2024
huonw added a commit that referenced this issue Nov 8, 2024
…ed (#21417)" (#21623)

This reverts commit ae20980 / #21417 to
restore current-`main`/version 2.24.x to using our self-hosted macOS
10.15 runner, rather than the Github-hosted macOS 12 runner that is
being deprecated on 2024-12-03.

This ensures we'll be able to do the 2.24.0 release and patch releases
after that. This doesn't change the deprecation of macOS versions 10.15,
11 (in 2.23, #21326) and 12 (in 2.24, #21569). We'll be "unnecessarily"
building on 10.15 for 2.24 even though it's not actually supported. The
warnings/errors about the lack of support will still occur, though.

Once we branch for 2.24 and `main` switches over to 2.25, we can switch
this over to using the GitHub hosted macOS 13 runner (not 12).

See
#21333 (comment)
for more discussion.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:internal CI, fixes for not-yet-released features, etc.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant