Conversation
| - name: Build | ||
| run: | | ||
| export SDKROOT="$(xcrun --show-sdk-path)" | ||
| # Set MACOSX_DEPLOYMENT_TARGET and -Werror=unguarded-availability to | ||
| # make sure we don't break downstream distributors (like uv): | ||
| export CFLAGS_JIT='-Werror=unguarded-availability' | ||
| export MACOSX_DEPLOYMENT_TARGET=10.15 | ||
| ./configure --enable-experimental-jit --enable-universalsdk --with-universal-archs=universal2 ${{ matrix.debug && '--with-pydebug' || '' }} |
There was a problem hiding this comment.
JIT auto finds required clang, so we dont need CC
| ./configure --enable-experimental-jit --with-pydebug | ||
| sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ env.LLVM_VERSION }} | ||
| export PATH="$(llvm-config-${{ env.LLVM_VERSION }} --bindir):$PATH" | ||
| ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }} |
There was a problem hiding this comment.
Yes, that is intentional. In tail-call.yml, we always need clang because the tail-call interpreter uses musttail attributes that are clang-specific. For "regular" JIT jobs, we just use LLVM internally during the build process so not needed. For the JIT + tail-call, we need CC=clang again for the same reasons as tail-call.yml
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
|
Thanks @savannahostrowski for the PR 🌮🎉.. I'm working now to backport this PR to: 3.14. |
|
Sorry, @savannahostrowski, I could not cleanly backport this to |
|
GH-145126 is a backport of this pull request to the 3.14 branch. |


Similar to #144553, this cleans up
jit.yml. The biggest changes here are moving LLVM version to an env var, since we are only testing one version anyway, and consolidating all of the one-off jobs into one job with a matrix (we've been accumulating free-threading, JIT debug, JIT + tail call etc over time; I could probably be convinced this isn't worth the ~30 lines saved if the matrix feels too heterogeneous). I've also lessened timeout-minutes from 90 to 60 minutes to match other CI files.I think this can also be backported to 3.14, though, the LLVM version will be 20 instead of 21.