@@ -100,7 +100,7 @@ jobs:
100100 name : ' Check if Autoconf files are up to date'
101101 # Don't use ubuntu-latest but a specific version to make the job
102102 # reproducible: to get the same tools versions (autoconf, aclocal, ...)
103- runs-on : ubuntu-24 .04
103+ runs-on : ubuntu-26 .04
104104 container :
105105 image : ghcr.io/python/autoconf:2025.01.02.12581854023
106106 timeout-minutes : 60
@@ -143,7 +143,7 @@ jobs:
143143 name : ' Check if generated files are up to date'
144144 # Don't use ubuntu-latest but a specific version to make the job
145145 # reproducible: to get the same tools versions (autoconf, aclocal, ...)
146- runs-on : ubuntu-24 .04
146+ runs-on : ubuntu-26 .04
147147 timeout-minutes : 60
148148 needs : build-context
149149 if : needs.build-context.outputs.run-tests == 'true'
@@ -240,16 +240,16 @@ jobs:
240240 strategy :
241241 fail-fast : false
242242 matrix :
243- # macos-26 is Apple Silicon, macos-15 -intel is Intel.
244- # macos-15 -intel only runs tests against the GIL-enabled CPython.
243+ # macos-26 is Apple Silicon, macos-26 -intel is Intel.
244+ # macos-26 -intel only runs tests against the GIL-enabled CPython.
245245 os :
246246 - macos-26
247- - macos-15 -intel
247+ - macos-26 -intel
248248 free-threading :
249249 - false
250250 - true
251251 exclude :
252- - os : macos-15 -intel
252+ - os : macos-26 -intel
253253 free-threading : true
254254 uses : ./.github/workflows/reusable-macos.yml
255255 with :
@@ -272,6 +272,8 @@ jobs:
272272 free-threading :
273273 - false
274274 - true
275+ # For BOLT jobs, https://apt.llvm.org/llvm.sh doesn't support LLVM 19
276+ # on Ubuntu 26.04, so stick to Ubuntu 24.04 until LLVM is upgraded.
275277 os :
276278 - ubuntu-24.04
277279 - ubuntu-24.04-arm
@@ -297,7 +299,7 @@ jobs:
297299 strategy :
298300 fail-fast : false
299301 matrix :
300- os : [ubuntu-24 .04]
302+ os : [ubuntu-26 .04]
301303 ssllib :
302304 # See Tools/ssl/make_ssl_data.py for notes on adding a new version
303305 # # OpenSSL
@@ -370,38 +372,29 @@ jobs:
370372 - arch : aarch64
371373 runs-on : macos-26
372374 - arch : x86_64
373- runs-on : ubuntu-24 .04
375+ runs-on : ubuntu-26 .04
374376
375377 runs-on : ${{ matrix.runs-on }}
376378 steps :
377379 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
378380 with :
379381 persist-credentials : false
380382 - name : Build and test
381- run : ./Android/android.py ci --fast-ci ${{ matrix.arch }}-linux-android
383+ run : JAVA_HOME="${JAVA_HOME_21_X64:-$JAVA_HOME_21_arm64}" ./Android/android.py ci --fast-ci ${{ matrix.arch }}-linux-android
382384
383385 build-ios :
384386 name : iOS
385387 needs : build-context
386388 if : needs.build-context.outputs.run-ios == 'true'
387389 timeout-minutes : 60
388- runs-on : macos-14
390+ runs-on : macos-26
389391 steps :
390392 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
391393 with :
392394 persist-credentials : false
393395
394- # GitHub recommends explicitly selecting the desired Xcode version:
395- # https://github.com/actions/runner-images/issues/12541#issuecomment-3083850140
396- # This became a necessity as a result of
397- # https://github.com/actions/runner-images/issues/12541 and
398- # https://github.com/actions/runner-images/issues/12751.
399- - name : Select Xcode version
400- run : |
401- sudo xcode-select --switch /Applications/Xcode_15.4.app
402-
403396 - name : Build and test
404- run : python3 Apple ci iOS --fast-ci --simulator 'iPhone SE (3rd generation),OS=17.5'
397+ run : python3 Apple ci iOS --fast-ci
405398
406399 build-emscripten :
407400 name : ' Emscripten'
@@ -417,7 +410,7 @@ jobs:
417410
418411 test-hypothesis :
419412 name : " Hypothesis tests on Ubuntu"
420- runs-on : ubuntu-24 .04
413+ runs-on : ubuntu-26 .04
421414 timeout-minutes : 60
422415 needs : build-context
423416 if : needs.build-context.outputs.run-ubuntu == 'true'
@@ -528,7 +521,7 @@ jobs:
528521 strategy :
529522 fail-fast : false
530523 matrix :
531- os : [ubuntu-24 .04]
524+ os : [ubuntu-26 .04]
532525 env :
533526 OPENSSL_VER : 3.5.7
534527 PYTHONSTRICTEXTENSIONBUILD : 1
@@ -543,10 +536,6 @@ jobs:
543536 run : echo "::add-matcher::.github/problem-matchers/gcc.json"
544537 - name : Install dependencies
545538 run : sudo ./.github/workflows/posix-deps-apt.sh
546- - name : Set up GCC-10 for ASAN
547- uses : egor-tensin/setup-gcc@a2861a8b8538f49cf2850980acccf6b05a1b2ae4 # v2.0
548- with :
549- version : 10
550539 - name : Configure OpenSSL env vars
551540 run : |
552541 echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"
@@ -596,7 +585,7 @@ jobs:
596585
597586 cross-build-linux :
598587 name : Cross build Linux
599- runs-on : ubuntu-latest
588+ runs-on : ubuntu-26.04
600589 timeout-minutes : 60
601590 needs : build-context
602591 if : needs.build-context.outputs.run-ubuntu == 'true'
@@ -625,6 +614,9 @@ jobs:
625614 run : ./configure --prefix="$BUILD_DIR/cross-python" --with-build-python="$BUILD_DIR/host-python/bin/python3"
626615 - name : Install cross Python
627616 run : make -j8 install
617+ - name : Display build info
618+ run : |
619+ "$BUILD_DIR/cross-python/bin/python3" -m test.pythoninfo
628620 - name : Run test subset with host build
629621 run : |
630622 "$BUILD_DIR/cross-python/bin/python3" -m test test_sysconfig test_site test_embed
0 commit comments