Open
Conversation
hugovk
reviewed
Feb 21, 2026
| ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 | ||
| jit: | ||
|
|
||
| jit-windows: |
Member
There was a problem hiding this comment.
This is the JIT workflow, can skip the prefix.
Suggested change
| jit-windows: | |
| windows: |
|
|
||
| jit-with-disabled-gil: | ||
| name: Free-Threaded (Debug) | ||
| jit-macos: |
Member
There was a problem hiding this comment.
Suggested change
| jit-macos: | |
| macos: |
|
|
||
| no-opt-jit: | ||
| name: JIT without optimizations (Debug) | ||
| jit-linux: |
Member
There was a problem hiding this comment.
Suggested change
| jit-linux: | |
| linux: |
|
|
||
| tail-call-jit: | ||
| name: JIT with tail calling interpreter | ||
| jit-linux-extras: |
Member
There was a problem hiding this comment.
Suggested change
| jit-linux-extras: | |
| linux-extras: |
| name: JIT with tail calling interpreter | ||
| jit-linux-extras: | ||
| name: ${{ matrix.name }} | ||
| needs: interpreter |
Member
There was a problem hiding this comment.
Do we still want to gate everything on this step, rather than kicking them all of in parallel?
For successful cases, it would reduce end-to-end times by ~12 minutes, from ~39 to ~27 minutes.
For unsuccessful, it would try and run the other builds when the interpreter job failed, but they might also fail quite soon?
Comment on lines
+116
to
+123
| - 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' || '' }} |
Member
Member
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' || '' }} |
Member
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


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.