4242 - name : Test tier two interpreter
4343 run : |
4444 ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
45- jit :
45+
46+ jit-windows :
4647 name : ${{ matrix.target }} (${{ matrix.debug && 'Debug' || 'Release' }})
4748 needs : interpreter
4849 runs-on : ${{ matrix.runner }}
5455 - i686-pc-windows-msvc/msvc
5556 - x86_64-pc-windows-msvc/msvc
5657 - aarch64-pc-windows-msvc/msvc
57- - x86_64-apple-darwin/clang
58- - aarch64-apple-darwin/clang
59- - x86_64-unknown-linux-gnu/gcc
60- - aarch64-unknown-linux-gnu/gcc
6158 debug :
6259 - true
6360 - false
@@ -71,54 +68,98 @@ jobs:
7168 - target : aarch64-pc-windows-msvc/msvc
7269 architecture : ARM64
7370 runner : windows-11-arm
74- - target : x86_64-apple-darwin/clang
75- architecture : x86_64
76- runner : macos-15-intel
77- - target : aarch64-apple-darwin/clang
78- architecture : aarch64
79- runner : macos-14
80- - target : x86_64-unknown-linux-gnu/gcc
81- architecture : x86_64
82- runner : ubuntu-24.04
83- - target : aarch64-unknown-linux-gnu/gcc
84- architecture : aarch64
85- runner : ubuntu-24.04-arm
8671 steps :
8772 - uses : actions/checkout@v6
8873 with :
8974 persist-credentials : false
9075 - uses : actions/setup-python@v6
9176 with :
9277 python-version : ' 3.11'
93-
9478 # PCbuild downloads LLVM automatically:
95- - name : Windows
96- if : runner.os == 'Windows'
79+ - name : Build
9780 run : |
9881 ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }}
82+ - name : Test
83+ run : |
9984 ./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3
10085
101- - name : macOS
102- if : runner.os == 'macOS'
86+ jit-macos :
87+ name : ${{ matrix.target }} (${{ matrix.debug && 'Debug' || 'Release' }})
88+ needs : interpreter
89+ runs-on : ${{ matrix.runner }}
90+ timeout-minutes : 90
91+ strategy :
92+ fail-fast : false
93+ matrix :
94+ target :
95+ - x86_64-apple-darwin/clang
96+ - aarch64-apple-darwin/clang
97+ debug :
98+ - true
99+ - false
100+ include :
101+ - target : x86_64-apple-darwin/clang
102+ runner : macos-15-intel
103+ - target : aarch64-apple-darwin/clang
104+ runner : macos-14
105+ steps :
106+ - uses : actions/checkout@v6
107+ with :
108+ persist-credentials : false
109+ - uses : actions/setup-python@v6
110+ with :
111+ python-version : ' 3.11'
112+ - name : Install LLVM
103113 run : |
104114 brew update
105115 brew install llvm@${{ env.LLVM_VERSION }}
116+ - name : Build
117+ run : |
106118 export SDKROOT="$(xcrun --show-sdk-path)"
107119 # Set MACOSX_DEPLOYMENT_TARGET and -Werror=unguarded-availability to
108120 # make sure we don't break downstream distributors (like uv):
109121 export CFLAGS_JIT='-Werror=unguarded-availability'
110122 export MACOSX_DEPLOYMENT_TARGET=10.15
111123 ./configure --enable-experimental-jit --enable-universalsdk --with-universal-archs=universal2 ${{ matrix.debug && '--with-pydebug' || '' }}
112124 make all --jobs 4
125+ - name : Test
126+ run : |
113127 ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
114128
115- - name : Linux
116- if : runner.os == 'Linux'
129+ jit-linux :
130+ name : ${{ matrix.target }} (${{ matrix.debug && 'Debug' || 'Release' }})
131+ needs : interpreter
132+ runs-on : ${{ matrix.runner }}
133+ timeout-minutes : 90
134+ strategy :
135+ fail-fast : false
136+ matrix :
137+ target :
138+ - x86_64-unknown-linux-gnu/gcc
139+ - aarch64-unknown-linux-gnu/gcc
140+ debug :
141+ - true
142+ - false
143+ include :
144+ - target : x86_64-unknown-linux-gnu/gcc
145+ runner : ubuntu-24.04
146+ - target : aarch64-unknown-linux-gnu/gcc
147+ runner : ubuntu-24.04-arm
148+ steps :
149+ - uses : actions/checkout@v6
150+ with :
151+ persist-credentials : false
152+ - uses : actions/setup-python@v6
153+ with :
154+ python-version : ' 3.11'
155+ - name : Build
117156 run : |
118157 sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ env.LLVM_VERSION }}
119158 export PATH="$(llvm-config-${{ env.LLVM_VERSION }} --bindir):$PATH"
120159 ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }}
121160 make all --jobs 4
161+ - name : Test
162+ run : |
122163 ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
123164
124165 jit-linux-extras :
0 commit comments