@@ -28,7 +28,7 @@ concurrency:
28
28
jobs :
29
29
interpreter :
30
30
name : Interpreter (Debug)
31
- runs-on : ubuntu-22 .04
31
+ runs-on : ubuntu-24 .04
32
32
timeout-minutes : 90
33
33
steps :
34
34
- uses : actions/checkout@v4
@@ -78,10 +78,11 @@ jobs:
78
78
runner : macos-14
79
79
- target : x86_64-unknown-linux-gnu/gcc
80
80
architecture : x86_64
81
- runner : ubuntu-22 .04
81
+ runner : ubuntu-24 .04
82
82
- target : aarch64-unknown-linux-gnu/gcc
83
83
architecture : aarch64
84
- runner : ubuntu-22.04
84
+ # Forks don't have access to our paid AArch64 runners. These jobs are skipped below:
85
+ runner : ${{ github.repository_owner == 'python' && 'ubuntu-24.04-aarch64' || 'ubuntu-24.04' }}
85
86
steps :
86
87
- uses : actions/checkout@v4
87
88
- uses : actions/setup-python@v5
@@ -118,37 +119,19 @@ jobs:
118
119
./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
119
120
120
121
- name : Native Linux
121
- if : runner.os == 'Linux' && matrix.architecture == 'x86_64'
122
+ # Forks don't have access to our paid AArch64 runners. Skip those:
123
+ if : runner.os == 'Linux' && (matrix.architecture == 'x86_64' || github.repository_owner == 'python')
122
124
run : |
123
125
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
124
126
export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
125
127
./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }}
126
128
make all --jobs 4
127
129
./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
128
130
129
- - name : Emulated Linux
130
- if : runner.os == 'Linux' && matrix.architecture != 'x86_64'
131
- # The --ignorefile on ./python -m test is used to exclude tests known to fail when running on an emulated Linux.
132
- run : |
133
- sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
134
- export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
135
- ./configure --prefix="$(pwd)/../build"
136
- make install --jobs 4
137
- make clean --jobs 4
138
- export HOST=${{ matrix.architecture }}-linux-gnu
139
- sudo apt install --yes "gcc-$HOST" qemu-user
140
- export QEMU_LD_PREFIX="/usr/$HOST"
141
- CC="$HOST-gcc" \
142
- CPP="$HOST-gcc --preprocess" \
143
- HOSTRUNNER=qemu-${{ matrix.architecture }} \
144
- ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }} --build=x86_64-linux-gnu --host="$HOST" --with-build-python=../build/bin/python3 --with-pkg-config=no ac_cv_buggy_getaddrinfo=no ac_cv_file__dev_ptc=no ac_cv_file__dev_ptmx=yes
145
- make all --jobs 4
146
- ./python -m test --ignorefile=Tools/jit/ignore-tests-emulated-linux.txt --multiprocess 0 --timeout 4500 --verbose2 --verbose3
147
-
148
131
jit-with-disabled-gil :
149
132
name : Free-Threaded (Debug)
150
133
needs : interpreter
151
- runs-on : ubuntu-22 .04
134
+ runs-on : ubuntu-24 .04
152
135
strategy :
153
136
matrix :
154
137
llvm :
0 commit comments