|  | 
| 5 | 5 |       - 'Python/bytecodes.c' | 
| 6 | 6 |       - 'Python/ceval.c' | 
| 7 | 7 |       - 'Python/ceval_macros.h' | 
|  | 8 | +      - 'Python/generated_cases.c.h' | 
| 8 | 9 |   push: | 
| 9 | 10 |     paths: | 
| 10 | 11 |       - 'Python/bytecodes.c' | 
| 11 | 12 |       - 'Python/ceval.c' | 
| 12 | 13 |       - 'Python/ceval_macros.h' | 
|  | 14 | +      - 'Python/generated_cases.c.h' | 
| 13 | 15 |   workflow_dispatch: | 
| 14 | 16 | 
 | 
| 15 | 17 | permissions: | 
|  | 
| 39 | 41 |           - aarch64-apple-darwin/clang | 
| 40 | 42 |           - x86_64-unknown-linux-gnu/gcc | 
| 41 | 43 |           - aarch64-unknown-linux-gnu/gcc | 
|  | 44 | +          - free-threading | 
| 42 | 45 |         llvm: | 
| 43 | 46 |           - 19 | 
| 44 | 47 |         include: | 
|  | 
| 62 | 65 |             runner: ubuntu-24.04 | 
| 63 | 66 |           - target: aarch64-unknown-linux-gnu/gcc | 
| 64 | 67 |             architecture: aarch64 | 
| 65 |  | -            runner: ubuntu-24.04-arm | 
|  | 68 | +            runner: ubuntu-22.04-arm | 
|  | 69 | +          - target: free-threading | 
|  | 70 | +            architecture: x86_64 | 
|  | 71 | +            runner: ubuntu-24.04 | 
| 66 | 72 |     steps: | 
| 67 | 73 |       - uses: actions/checkout@v4 | 
| 68 | 74 |         with: | 
| @@ -103,11 +109,20 @@ jobs: | 
| 103 | 109 |           ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 | 
| 104 | 110 | 
 | 
| 105 | 111 |       - name: Native Linux (release) | 
| 106 |  | -        if: runner.os == 'Linux' | 
|  | 112 | +        if: runner.os == 'Linux' && matrix.target != 'free-threading' | 
| 107 | 113 |         run: | | 
| 108 | 114 |           sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }} | 
| 109 | 115 |           export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH" | 
| 110 | 116 |           CC=clang-19 ./configure --with-tail-call-interp | 
| 111 | 117 |           make all --jobs 4 | 
| 112 | 118 |           ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 | 
| 113 | 119 | 
 | 
|  | 120 | +      - name: Native Linux with free-threading (release) | 
|  | 121 | +        if: matrix.target == 'free-threading' | 
|  | 122 | +        run: | | 
|  | 123 | +          sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }} | 
|  | 124 | +          export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH" | 
|  | 125 | +          CC=clang-19 ./configure --with-tail-call-interp --disable-gil | 
|  | 126 | +          make all --jobs 4 | 
|  | 127 | +          ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 | 
|  | 128 | +
 | 
0 commit comments