Uh oh!
There was an error while loading. Please reload this page.
Refactor jit.yml - #144577
Conversation
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| - 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>
Uh oh!
There was an error while loading. Please reload this page.
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. |
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>


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.