Repository navigation
gh-159612: Remove macOS x86_64 from tail-call CI due to LLVM timeouts - #160713
Conversation
I'll backport all the way. |
|
Thanks @StanFromIreland for the PR 🌮🎉.. I'm working now to backport this PR to: 3.14, 3.15. |
|
GH-160721 is a backport of this pull request to the 3.15 branch. |
|
GH-160722 is a backport of this pull request to the 3.14 branch. |
|
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. |
…imeouts (GH-160713) (#160722) (cherry picked from commit 862d5e5) Co-authored-by: Stan Ulbrych <[email protected]>
…imeouts (GH-160713) (#160721) (cherry picked from commit 862d5e5) Co-authored-by: Stan Ulbrych <[email protected]>
| 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 |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
Or perhaps we no longer need to test both options in CI, just always with
--with-tail-call-interp?
I've opened #160778 for this.
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.