Skip to content

gh-159612: Remove macOS x86_64 from tail-call CI due to LLVM timeouts - #160713

Merged
StanFromIreland merged 1 commit into
python:mainfrom
StanFromIreland:tail-call-mac-timeout
Oct 26, 2026
Merged

StanFromIreland merged 1 commit into
python:mainfrom
StanFromIreland:tail-call-mac-timeout

Conversation

@StanFromIreland

@StanFromIreland StanFromIreland commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

As suggested in #160033 (comment) by @itamaro, I propose we remove it rather than try make it work with XCode's Clang since it's Tier 2.

@itamaro itamaro 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.

lgtm

should this have backport labels?

@StanFromIreland

Copy link
Copy Markdown
Member Author

should this have backport labels?

I'll backport all the way.

@hugovk hugovk 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.

All the way = back to 3.14.

@hugovk hugovk added needs backport to 3.14 bugs and security fixes needs backport to 3.15 bugs and security fixes labels Oct 26, 2026
@StanFromIreland
StanFromIreland merged commit 862d5e5 into python:main Oct 26, 2026
70 checks passed
@StanFromIreland
StanFromIreland deleted the tail-call-mac-timeout branch October 26, 2026 16:38
@miss-islington-app

Copy link
Copy Markdown

Thanks @StanFromIreland for the PR 🌮🎉.. I'm working now to backport this PR to: 3.14, 3.15.
🐍🍒⛏🤖

@bedevere-app

bedevere-app Bot commented Oct 26, 2026

Copy link
Copy Markdown

GH-160721 is a backport of this pull request to the 3.15 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.15 bugs and security fixes label Oct 26, 2026
@bedevere-app

bedevere-app Bot commented Oct 26, 2026

Copy link
Copy Markdown

GH-160722 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 Oct 26, 2026
@ned-deily

ned-deily commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

We no longer need to use Homebrew clang for tail-call builds since the current Xcode-supplied tools chains are based on LLVM 21. That's what we use for macOS installer builds with tail-call. I think it's fine to remove this CI testing for Intel Macs as it is a tier-2 platform. But I also would like to see removing the use of Homebrew clang for macOS. AFAIK, the only configuration where Homebrew clang is currently needed is for the specific case of generating the JIT templates, not for building Python itself.

StanFromIreland added a commit that referenced this pull request Oct 26, 2026
…imeouts (GH-160713) (#160722)

(cherry picked from commit 862d5e5)

Co-authored-by: Stan Ulbrych <stan@python.org>
StanFromIreland added a commit that referenced this pull request Oct 26, 2026
…imeouts (GH-160713) (#160721)

(cherry picked from commit 862d5e5)

Co-authored-by: Stan Ulbrych <stan@python.org>
export SDKROOT="$(xcrun --show-sdk-path)"
export PATH="/usr/local/opt/llvm@${{ env.LLVM_VERSION }}/bin:$PATH"
export PATH="/opt/homebrew/opt/llvm@${{ env.LLVM_VERSION }}/bin:$PATH"
CC=clang-${{ env.LLVM_VERSION }} ./configure --with-tail-call-interp

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.

We no longer need to use Homebrew clang for tail-call builds since the current Xcode-supplied tools chains are based on LLVM 21. That's what we use for macOS installer builds with tail-call. I think it's fine to remove this CI testing for Intel Macs as it is a tier-2 platform. But I also would like to see removing the use of Homebrew clang for macOS. AFAIK, the only configuration where Homebrew clang is currently needed is for the specific case of generating the JIT templates, not for building Python itself.

So remove the "Install dependencies" step? And in this step delete the two exports and change configure to something like CC=clang ./configure --with-tail-call-interp?

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.

Yes, the two exports should no longer be needed. But, presumably we want to be testing with all of the third-party libs installed? In that case, Homebrew is still needed for those but they may be already installed as part of the image but may need to be updated. Ideally, the build part of the workflow should be the same as reusable-macos.yml except for the --with-tail-call-interp. Or perhaps we no longer need to test both options in CI, just always with --with-tail-call-interp?

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 issue skip news

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants