11name : JIT
22on :
33 pull_request :
4+ paths :
5+ - ' **jit**'
6+ - ' Python/bytecodes.c'
7+ - ' Python/optimizer*.c'
8+ - ' Python/executor_cases.c.h'
9+ - ' Python/optimizer_cases.c.h'
10+ - ' !Python/perf_jit_trampoline.c'
11+ - ' !**/*.md'
12+ - ' !**/*.ini'
413 push :
14+ paths :
15+ - ' **jit**'
16+ - ' Python/bytecodes.c'
17+ - ' Python/optimizer*.c'
18+ - ' Python/executor_cases.c.h'
19+ - ' Python/optimizer_cases.c.h'
20+ - ' !Python/perf_jit_trampoline.c'
21+ - ' !**/*.md'
22+ - ' !**/*.ini'
523 workflow_dispatch :
624
725permissions :
@@ -39,40 +57,40 @@ jobs:
3957 fail-fast : false
4058 matrix :
4159 target :
42- # - i686-pc-windows-msvc/msvc
43- # - x86_64-pc-windows-msvc/msvc
44- # - aarch64-pc-windows-msvc/msvc
60+ - i686-pc-windows-msvc/msvc
61+ - x86_64-pc-windows-msvc/msvc
62+ - aarch64-pc-windows-msvc/msvc
4563 - x86_64-apple-darwin/clang
46- # - aarch64-apple-darwin/clang
47- # - x86_64-unknown-linux-gnu/gcc
48- # - aarch64-unknown-linux-gnu/gcc
64+ - aarch64-apple-darwin/clang
65+ - x86_64-unknown-linux-gnu/gcc
66+ - aarch64-unknown-linux-gnu/gcc
4967 debug :
5068 - true
5169 - false
5270 llvm :
5371 - 19
5472 include :
55- # - target: i686-pc-windows-msvc/msvc
56- # architecture: Win32
57- # runner: windows-2022
58- # - target: x86_64-pc-windows-msvc/msvc
59- # architecture: x64
60- # runner: windows-2022
61- # - target: aarch64-pc-windows-msvc/msvc
62- # architecture: ARM64
63- # runner: windows-11-arm
73+ - target : i686-pc-windows-msvc/msvc
74+ architecture : Win32
75+ runner : windows-latest
76+ - target : x86_64-pc-windows-msvc/msvc
77+ architecture : x64
78+ runner : windows-latest
79+ - target : aarch64-pc-windows-msvc/msvc
80+ architecture : ARM64
81+ runner : windows-11-arm
6482 - target : x86_64-apple-darwin/clang
6583 architecture : x86_64
84+ runner : macos-13
85+ - target : aarch64-apple-darwin/clang
86+ architecture : aarch64
6687 runner : macos-14
67- # - target: aarch64-apple-darwin/clang
68- # architecture: aarch64
69- # runner: macos-14
70- # - target: x86_64-unknown-linux-gnu/gcc
71- # architecture: x86_64
72- # runner: ubuntu-24.04
73- # - target: aarch64-unknown-linux-gnu/gcc
74- # architecture: aarch64
75- # runner: ubuntu-24.04-arm
88+ - target : x86_64-unknown-linux-gnu/gcc
89+ architecture : x86_64
90+ runner : ubuntu-24.04
91+ - target : aarch64-unknown-linux-gnu/gcc
92+ architecture : aarch64
93+ runner : ubuntu-24.04-arm
7694 steps :
7795 - uses : actions/checkout@v4
7896 with :
@@ -82,12 +100,11 @@ jobs:
82100 python-version : ' 3.11'
83101
84102 # PCbuild downloads LLVM automatically:
85- # - name: Windows
86- # if: runner.os == 'Windows'
87- # run: |
88- # ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }}
89- # ./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} \
90- # -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3
103+ - name : Windows
104+ if : runner.os == 'Windows'
105+ run : |
106+ ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }}
107+ ./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3
91108
92109 - name : macOS
93110 # The `find` line is required as a result of https://github.com/actions/runner-images/issues/9966.
@@ -109,14 +126,14 @@ jobs:
109126 arch -x86_64 make all --jobs 4
110127 ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
111128
112- # - name: Linux
113- # if: runner.os == 'Linux'
114- # run: |
115- # sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
116- # export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
117- # ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }}
118- # make all --jobs 4
119- # ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
129+ - name : Linux
130+ if : runner.os == 'Linux'
131+ run : |
132+ sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
133+ export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
134+ ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }}
135+ make all --jobs 4
136+ ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
120137
121138 no-opt-jit :
122139 name : JIT without optimizations (Debug)
0 commit comments