Skip to content

Commit 68e6cff

Browse files
Make more modular
1 parent 9d10edc commit 68e6cff

File tree

1 file changed

+65
-24
lines changed

1 file changed

+65
-24
lines changed

.github/workflows/jit.yml

Lines changed: 65 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ jobs:
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 }}
@@ -54,10 +55,6 @@ jobs:
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

Comments
 (0)