Skip to content

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

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

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

Conversation

@clintonsteiner

@clintonsteinerclintonsteiner commented Feb 22, 2026

Copy link
Copy Markdown
Contributor

@hugovkhugovk left a comment

Copy link
Copy Markdown
Member

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.

Comment threadMisc/NEWS.d/next/Build/2026-02-22-12-00-00.gh-issue-145098.n7Qk2m.rst Outdated
@hugovkhugovk added skip news infra CI, GitHub Actions, buildbots, Dependabot, etc. labels Feb 22, 2026
@hugovk

Copy link
Copy Markdown
Member
Jobmacos-14 (main)macos-26 (PR)Diff
build and test8m 39s12m 11s+3m 32s (+41%)
free-threading build and test15m 58s18m 25s+2m 27s (+15%)
Android (aarch64)4m 09s3m 34s-35s (-14%)
iOS16m 29s21m 34s+5m 05s (+31%)
JIT aarch64 (Debug)15m 43s15m 04s-39s (-4%)
JIT aarch64 (Release)15m 36s13m 09s-2m 27s (-16%)
tail-call aarch649m 54s9m 45s-9s (-2%)

@webknjazwebknjaz left a comment

Copy link
Copy Markdown
Member

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
Copy Markdown
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
Copy Markdown
ContributorAuthor

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
Copy Markdown
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
Copy Markdown
ContributorAuthor

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

@hugovk

Copy link
Copy Markdown
Member

@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

python-cla-botBot commented Feb 24, 2026

Copy link
Copy Markdown

All commit authors signed the Contributor License Agreement.

CLA signed

@clintonsteiner

Copy link
Copy Markdown
ContributorAuthor

@hugovk done, thank you!

@savannahostrowskisavannahostrowski left a comment

Copy link
Copy Markdown
Member

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!

@freakboy3742freakboy3742 left a comment

Copy link
Copy Markdown
Contributor

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

Comment thread.github/workflows/build.yml Outdated
Comment thread.github/workflows/build.yml Outdated
@hugovk

Copy link
Copy Markdown
Member

Thanks!

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

Copy link
Copy Markdown

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
Copy Markdown

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
Copy Markdown

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
Copy Markdown

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

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

Copy link
Copy Markdown

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
Copy Markdown

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
Copy Markdown
Member

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

@hugovkhugovk 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>
hugovk added a commit that referenced this pull request Mar 30, 2026
…145099) (GH-146412) (#146414)
Co-authored-by: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Co-authored-by: clintonsteiner <47841949+clintonsteiner@users.noreply.github.com>
hugovk added a commit to hugovk/cpython that referenced this pull request Mar 30, 2026
pythonGH-145099) (pythonGH-146412) (pythonGH-146414)
(cherry picked from commit 0dcb625)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Co-authored-by: clintonsteiner <47841949+clintonsteiner@users.noreply.github.com>
hugovk added a commit that referenced this pull request Mar 30, 2026
…145099) (GH-146412) (GH-146414) (#146635)
Co-authored-by: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Co-authored-by: clintonsteiner <47841949+clintonsteiner@users.noreply.github.com>
hugovk added a commit that referenced this pull request Mar 30, 2026
…145099) (GH-146412) (GH-146414) (GH-146635) (#146638)
Co-authored-by: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Co-authored-by: clintonsteiner <47841949+clintonsteiner@users.noreply.github.com>
KowalskiThomas pushed a commit to KowalskiThomas/cpython that referenced this pull request Apr 12, 2026
PyFrozenDict_Type.tp_doc was set to `dictionary_doc`, which describes
`dict()` — saying "dict() -> new empty dictionary" throughout. Since
frozendict is a separate type, it needs its own docstring. Add a
`frozendict_doc` with correct "frozendict()" references and a note
that frozendict is immutable and hashable.
https://claude.ai/code/session_01EdeU6enhg5YoLvKmBPpiZf
clin1234 pushed a commit to clin1234/cpython that referenced this pull request Apr 16, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infraCI, GitHub Actions, buildbots, Dependabot, etc.skip news

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@clintonsteiner@hugovk@freakboy3742@webknjaz@savannahostrowski