Skip to content

gh-145098: Run Apple Silicon macOS CI on macos-26 (Tahoe)#145099

Merged
hugovk merged 6 commits intopython:mainfrom
clintonsteiner:gh-145098
Mar 25, 2026
Merged

gh-145098: Run Apple Silicon macOS CI on macos-26 (Tahoe)#145099
hugovk merged 6 commits intopython:mainfrom
clintonsteiner:gh-145098

Conversation

@clintonsteiner
Copy link
Contributor

@clintonsteiner clintonsteiner commented Feb 22, 2026

Copy link
Member

@hugovk hugovk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm curious if there's any performance difference between this and the previous one, can you compare times?

Also noting this image is still in beta but should be GA "around November" [2025], "before Xcode 26.3 releases" [20 Feb], "late February / early March, but depends on Xcode 26.4 behavior in general, so no promises".

actions/runner-images#13008

I don't see this as a blocker as long as everything we need is in there.

@hugovk hugovk added skip news infra CI, GitHub Actions, buildbots, Dependabot, etc. labels Feb 22, 2026
@hugovk
Copy link
Member

hugovk commented Feb 22, 2026

Job macos-14 (main) macos-26 (PR) Diff
build and test 8m 39s 12m 11s +3m 32s (+41%)
free-threading build and test 15m 58s 18m 25s +2m 27s (+15%)
Android (aarch64) 4m 09s 3m 34s -35s (-14%)
iOS 16m 29s 21m 34s +5m 05s (+31%)
JIT aarch64 (Debug) 15m 43s 15m 04s -39s (-4%)
JIT aarch64 (Release) 15m 36s 13m 09s -2m 27s (-16%)
tail-call aarch64 9m 54s 9m 45s -9s (-2%)

Copy link
Member

@webknjaz webknjaz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bumping the OS seems fine, although the downloader refactoring feels standalone..

@freakboy3742
Copy link
Contributor

My concern is less about speed, and more about reliability.

For background - there is no issue running CPython on macOS-26. This is entirely a GitHub Actions issue.

The macOS-15 runner has proven to be massively unreliable, and I haven't seen any movement on actions/runner-images#12777 or actions/runner-images#13275/actions/runner-images#13459 that suggests those issues have been fixed.

Before this lands, I'd want to see a dozen or so re-runs to give some confidence that the simulator boot reliability issues we've seen on macOS-15 have been resolved on macOS-26.

I also share the concern about conflating the downloading change with the CI change - is there a direct connection with the macOS runner here? The comment about "some runner/proxy setups" suggests it might be... but it's not clear if this is only to address an issue you've seen locally.

@clintonsteiner
Copy link
Contributor Author

I changed the download run probably due to unreliability of the runner, failed downloads twice and didn't know if it was a regression in the os of the runner's curl capability @freakboy3742

@freakboy3742
Copy link
Contributor

I changed the download run probably due to unreliability of the runner, failed downloads twice and didn't know if it was a regression in the os of the runner's curl capability @freakboy3742

GitHub Actions failing downloads is a fairly common, but entirely inconsistent phenomenon. I've seen errors from GitHub accessing GitHub downloads. Unless you have concrete evidence that the issue is HTTP 1.1 compliance, I'd rather not complicate that section of code (or at least defer it to a separate PR, where we can address the same issue on other platforms like Android and Emscripten).

@clintonsteiner
Copy link
Contributor Author

@freakboy3742 agreed, I had just pushed a revert a minute ago actually

@hugovk
Copy link
Member

hugovk commented Feb 23, 2026

@clintonsteiner Please can you resolve the conflict in jit.yml?

And revert the unrelated changes to Include/internal/pycore_dict.h and Objects/dictobject.c?

27b3fa0

@python-cla-bot
Copy link

python-cla-bot bot commented Feb 24, 2026

All commit authors signed the Contributor License Agreement.

CLA signed

@clintonsteiner
Copy link
Contributor Author

@hugovk done, thank you!

Copy link
Member

@savannahostrowski savannahostrowski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM for jit.yml but also in general!

Copy link
Contributor

@freakboy3742 freakboy3742 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Broadly looks good; a couple of specific suggestions that might impact testing time. All evidence I've seen says there's a very restricted set of images that are pre-warmed, and that pre-warming is good for up to 10 minutes of test time.

I also want to see the iOS job pass a dozen times in succession before this is merged - historically, GitHub's iOS runners are very inconsistent, and I don't want to merge this only to have to revert it because it didn't trigger

@clintonsteiner
Copy link
Contributor Author

@freakboy3742 fixed, would you mind reviewing again?

Copy link
Contributor

@freakboy3742 freakboy3742 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 I think this all makes sense; I'll leave it to @hugovk for the final merge.

@hugovk hugovk added needs backport to 3.13 bugs and security fixes needs backport to 3.14 bugs and security fixes needs backport to 3.10 only security fixes needs backport to 3.11 only security fixes needs backport to 3.12 only security fixes labels Mar 25, 2026
@hugovk
Copy link
Member

hugovk commented Mar 25, 2026

Thanks!

@hugovk hugovk merged commit 4240c7d into python:main Mar 25, 2026
87 of 88 checks passed
@miss-islington-app
Copy link

Thanks @clintonsteiner for the PR, and @hugovk for merging it 🌮🎉.. I'm working now to backport this PR to: 3.10, 3.11, 3.12, 3.13, 3.14.
🐍🍒⛏🤖

@miss-islington-app
Copy link

Sorry, @clintonsteiner and @hugovk, I could not cleanly backport this to 3.13 due to a conflict.
Please backport using cherry_picker on command line.

cherry_picker 4240c7dd7499c9024bae73a31fb25697203ae615 3.13

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Mar 25, 2026
…onGH-145099)

(cherry picked from commit 4240c7d)

Co-authored-by: clintonsteiner <47841949+clintonsteiner@users.noreply.github.com>
@miss-islington-app
Copy link

Sorry, @clintonsteiner and @hugovk, I could not cleanly backport this to 3.12 due to a conflict.
Please backport using cherry_picker on command line.

cherry_picker 4240c7dd7499c9024bae73a31fb25697203ae615 3.12

@bedevere-app
Copy link

bedevere-app bot commented Mar 25, 2026

GH-146412 is a backport of this pull request to the 3.14 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.14 bugs and security fixes label Mar 25, 2026
@miss-islington-app
Copy link

Sorry, @clintonsteiner and @hugovk, I could not cleanly backport this to 3.11 due to a conflict.
Please backport using cherry_picker on command line.

cherry_picker 4240c7dd7499c9024bae73a31fb25697203ae615 3.11

@miss-islington-app
Copy link

Sorry, @clintonsteiner and @hugovk, I could not cleanly backport this to 3.10 due to a conflict.
Please backport using cherry_picker on command line.

cherry_picker 4240c7dd7499c9024bae73a31fb25697203ae615 3.10

@hugovk
Copy link
Member

hugovk commented Mar 25, 2026

I'll reapply the backport labels one-by-one on the oldest backport PR, there should be a smaller diff to fix each time.

@hugovk hugovk removed needs backport to 3.13 bugs and security fixes needs backport to 3.12 only security fixes needs backport to 3.11 only security fixes needs backport to 3.10 only security fixes labels Mar 25, 2026
hugovk pushed a commit that referenced this pull request Mar 25, 2026
…145099) (#146412)

Co-authored-by: clintonsteiner <47841949+clintonsteiner@users.noreply.github.com>
hugovk added a commit to hugovk/cpython that referenced this pull request Mar 25, 2026
hugovk pushed a commit to hugovk/cpython that referenced this pull request Mar 25, 2026
pythonGH-145099) (pythonGH-146412)

(cherry picked from commit ce78904)

Co-authored-by: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Co-authored-by: clintonsteiner <47841949+clintonsteiner@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infra CI, GitHub Actions, buildbots, Dependabot, etc. skip news

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants