@@ -28,7 +28,7 @@ concurrency:
2828jobs :
2929 interpreter :
3030 name : Interpreter (Debug)
31- runs-on : ubuntu-22 .04
31+ runs-on : ubuntu-24 .04
3232 timeout-minutes : 90
3333 steps :
3434 - uses : actions/checkout@v4
@@ -78,10 +78,11 @@ jobs:
7878 runner : macos-14
7979 - target : x86_64-unknown-linux-gnu/gcc
8080 architecture : x86_64
81- runner : ubuntu-22 .04
81+ runner : ubuntu-24 .04
8282 - target : aarch64-unknown-linux-gnu/gcc
8383 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' }}
8586 steps :
8687 - uses : actions/checkout@v4
8788 - uses : actions/setup-python@v5
@@ -118,37 +119,19 @@ jobs:
118119 ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
119120
120121 - 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')
122124 run : |
123125 sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
124126 export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
125127 ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }}
126128 make all --jobs 4
127129 ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
128130
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-
148131 jit-with-disabled-gil :
149132 name : Free-Threaded (Debug)
150133 needs : interpreter
151- runs-on : ubuntu-22 .04
134+ runs-on : ubuntu-24 .04
152135 strategy :
153136 matrix :
154137 llvm :
0 commit comments