-
-
Notifications
You must be signed in to change notification settings - Fork 643
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
Test and release on newer macOS: 13 (x86-64) and 14 (arm64) #21655
Conversation
a02995d
to
640bc48
Compare
GITHUB_HOSTED = {Platform.LINUX_X86_64, Platform.MACOS12_X86_64} | ||
SELF_HOSTED = {Platform.LINUX_ARM64, Platform.MACOS10_15_X86_64, Platform.MACOS11_ARM64} | ||
# We control these runners, so we preinstall and expose python on them. | ||
HAS_PYTHON = {Platform.LINUX_ARM64, Platform.MACOS10_15_X86_64, Platform.MACOS11_ARM64} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved to be implied by PYTHON_VERSIONS_PER_PLATFORM
to manage the 3.7 & 3.8 availability.
SELF_HOSTED = {Platform.LINUX_ARM64, Platform.MACOS10_15_X86_64, Platform.MACOS11_ARM64} | ||
# We control these runners, so we preinstall and expose python on them. | ||
HAS_PYTHON = {Platform.LINUX_ARM64, Platform.MACOS10_15_X86_64, Platform.MACOS11_ARM64} | ||
HAS_GO = {Platform.MACOS12_X86_64, Platform.MACOS10_15_X86_64, Platform.MACOS11_ARM64} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All platforms need Go explicitly installed now, it seems.
@@ -55,6 +55,7 @@ def test_set_invalid_log_location(): | |||
Platform.macos_x86_64: ( | |||
"The provided log location path at '/' is not writable or could not be created: " | |||
"[Errno 21] Is a directory: '/'.", | |||
"Error opening fatal error log streams for log location '/': [Errno 30] Read-only file system", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This matches Platform.macos_arm64
above: the test was failing on the macos-12 runner.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't use macs, but all the yaml looks reasonable!
Nevermind, this is blocking CI currently (including doing that release) due to brownouts: actions/runner-images#10721 So, I'll merge and we can just spend a bit more effort debugging in future, if we need to. |
Ah, and I'll mark it for cherrypicking. We don't want to cherrypick the whole change, but at least the complete removal of the macOS-12 runners. |
I tried to automatically cherry-pick this change back to each relevant milestone, so that it is available in those older releases of Pants. ❌ 2.22.xI was unable to cherry-pick this PR to 2.22.x, likely due to merge-conflicts. Steps to Cherry-Pick locallyTo resolve:
Please note that I cannot re-run CI if a job fails. Please work with your PR approver(s) to re-run CI if necessary. ❌ 2.23.xI was unable to cherry-pick this PR to 2.23.x, likely due to merge-conflicts. Steps to Cherry-Pick locallyTo resolve:
Please note that I cannot re-run CI if a job fails. Please work with your PR approver(s) to re-run CI if necessary. ❌ 2.24.xI was unable to cherry-pick this PR to 2.24.x, likely due to merge-conflicts. Steps to Cherry-Pick locallyTo resolve:
Please note that I cannot re-run CI if a job fails. Please work with your PR approver(s) to re-run CI if necessary. When you're done manually cherry-picking, please remove the Thanks again for your contributions! |
Fixes #424 This makes a few adjustments to support running Pants 2.25.0.dev0 and newer, which run using Python 3.11 (pantsbuild/pants#21528), iterating on #351. Particularly: - expanding tools.pex's interpreter constraints to include 3.11 (and also 3.10, which seems fine) - add a test (NB. Pants 2.25 cannot run on macOS older than 13 / 14, depending on platform, so this test is conditional: pantsbuild/pants#21655) - hardcoding that 2.25.0.dev0 uses Python 3.11, to use the optimised "hit the exact URL first time" codepath, instead of having to try all Python versions: https://github.com/pantsbuild/scie-pants/blob/d50bd33fd67e944384c9548811a66c1cb03113a5/tools/src/scie_pants/pants_version.py#L239-L252 This thus preps scie-pants release 0.12.1 too, which I'll tag once merged.
This follows-up on the deprecation of support for older macOS versions that happened in 2.24.x and earlier, by switching
main
(2.25.x) to be building on macOS 13 for x86-64 (upgrading from 10.15) and macOS 14 for arm64 (upgrading from 11). These particular versions are dictated by Github's hosted runners: there's no arm64 macos-13 runners.This is preparation for scaling down our self-hosted macOS runners, but we cannot do that yet. They're still used by:
Thus, we at least need to wait a few months for the 2.24.x milestone to be closed before we can reduce that spend.
(NB. despite the title, this doesn't start testing on arm64 macOS: see separate issue #20993.)
Fixes #21413
Fixes #21333