CI: Only test free-threading with faster macOS M1 #116814
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We used to only have a single macOS Intel job in the CI.
But we have recently quadrupled it:
Plus we occasionally have a couple testing the JIT, but they only trigger when relevant files are modified.
Unfortunately, we're limited to a maximum of 5 concurrent macOS jobs:
This means at busy times, jobs can be queued for a long time waiting for free macOS runners. In the meantime, the other jobs have finished, but we need to sit around until one of the five runners becomes free.
We've run in to this once per week for the last three weeks, during European evening/US daytime.
To mitigate, let's remove some macOS jobs.
We can't remove them from the regular build, because they're needed to maintain PEP 11's Tier 1 support. So let's start by removing one macOS test job for the free-threading build.
Here's macOS job times for five recent builds.
macos-13
is Intel,macOS-14
is M1.M1 is much faster (~8 mins), so let's remove the slower free-threading Intel job (~20 mins).
If the problem persists, we can remove the free-threading M1 job as well.
And hopefully GitHub will be able to increase the number of concurrent macOS jobs in the future, especially as the free-threading work matures. 🤞