5353 name : ' Check if Autoconf files are up to date'
5454 # Don't use ubuntu-latest but a specific version to make the job
5555 # reproducible: to get the same tools versions (autoconf, aclocal, ...)
56- runs-on : ubuntu-24 .04
56+ runs-on : ubuntu-26 .04
5757 container :
5858 image : ghcr.io/python/autoconf:2025.01.02.12581854023
5959 timeout-minutes : 60
6464 run : |
6565 apt update && apt install git -yq
6666 git config --global --add safe.directory "$GITHUB_WORKSPACE"
67- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
67+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
6868 with :
6969 fetch-depth : 1
7070 persist-credentials : false
@@ -96,12 +96,12 @@ jobs:
9696 name : ' Check if generated files are up to date'
9797 # Don't use ubuntu-latest but a specific version to make the job
9898 # reproducible: to get the same tools versions (autoconf, aclocal, ...)
99- runs-on : ubuntu-24 .04
99+ runs-on : ubuntu-26 .04
100100 timeout-minutes : 60
101101 needs : build-context
102102 if : needs.build-context.outputs.run-tests == 'true'
103103 steps :
104- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
104+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
105105 with :
106106 persist-credentials : false
107107 - uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
@@ -181,22 +181,6 @@ jobs:
181181 free-threading : ${{ matrix.free-threading }}
182182 interpreter : ${{ matrix.interpreter }}
183183
184- build-windows-msi :
185- # ${{ '' } is a hack to nest jobs under the same sidebar category.
186- name : Windows MSI${{ '' }} # zizmor: ignore[obfuscation]
187- needs : build-context
188- if : fromJSON(needs.build-context.outputs.run-windows-msi)
189- strategy :
190- fail-fast : false
191- matrix :
192- arch :
193- - x86
194- - x64
195- - arm64
196- uses : ./.github/workflows/reusable-windows-msi.yml
197- with :
198- arch : ${{ matrix.arch }}
199-
200184 build-macos :
201185 name : >-
202186 macOS
@@ -239,18 +223,18 @@ jobs:
239223 - false
240224 - true
241225 os :
242- - ubuntu-24 .04
243- - ubuntu-24 .04-arm
226+ - ubuntu-26 .04
227+ - ubuntu-26 .04-arm
244228 exclude :
245229 # Do not test BOLT with free-threading, to conserve resources
246230 - bolt : true
247231 free-threading : true
248232 # BOLT currently crashes during instrumentation on aarch64
249- - os : ubuntu-24 .04-arm
233+ - os : ubuntu-26 .04-arm
250234 bolt : true
251235 include :
252236 # Enable CPU-intensive tests on ARM (default build only)
253- - os : ubuntu-24 .04-arm
237+ - os : ubuntu-26 .04-arm
254238 bolt : false
255239 free-threading : false
256240 test-opts : ' -u cpu'
@@ -261,6 +245,12 @@ jobs:
261245 os : ${{ matrix.os }}
262246 test-opts : ${{ matrix.test-opts || '' }}
263247
248+ build-ubuntu-installed :
249+ name : ' Ubuntu (installed)'
250+ needs : build-context
251+ if : needs.build-context.outputs.run-ubuntu == 'true'
252+ uses : ./.github/workflows/reusable-install.yml
253+
264254 build-ubuntu-ssltests :
265255 name : ' Ubuntu SSL tests'
266256 runs-on : ${{ matrix.os }}
@@ -270,7 +260,7 @@ jobs:
270260 strategy :
271261 fail-fast : false
272262 matrix :
273- os : [ubuntu-24 .04]
263+ os : [ubuntu-26 .04]
274264 ssllib :
275265 # See Tools/ssl/make_ssl_data.py for notes on adding a new version
276266 # # OpenSSL
@@ -291,7 +281,7 @@ jobs:
291281 SSLLIB_DIR : ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
292282 LD_LIBRARY_PATH : ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}/lib
293283 steps :
294- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
284+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
295285 with :
296286 persist-credentials : false
297287 - name : Runner image version
@@ -346,11 +336,11 @@ jobs:
346336 - arch : aarch64
347337 runs-on : macos-26
348338 - arch : x86_64
349- runs-on : ubuntu-24 .04
339+ runs-on : ubuntu-26 .04
350340
351341 runs-on : ${{ matrix.runs-on }}
352342 steps :
353- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
343+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
354344 with :
355345 persist-credentials : false
356346 - name : Build and test
@@ -361,23 +351,14 @@ jobs:
361351 needs : build-context
362352 if : needs.build-context.outputs.run-ios == 'true'
363353 timeout-minutes : 60
364- runs-on : macos-14
354+ runs-on : macos-26
365355 steps :
366- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
356+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
367357 with :
368358 persist-credentials : false
369359
370- # GitHub recommends explicitly selecting the desired Xcode version:
371- # https://github.com/actions/runner-images/issues/12541#issuecomment-3083850140
372- # This became a necessity as a result of
373- # https://github.com/actions/runner-images/issues/12541 and
374- # https://github.com/actions/runner-images/issues/12751.
375- - name : Select Xcode version
376- run : |
377- sudo xcode-select --switch /Applications/Xcode_15.4.app
378-
379360 - name : Build and test
380- run : python3 Platforms/Apple ci iOS --fast-ci --simulator 'iPhone SE (3rd generation),OS=17.5'
361+ run : python3 Platforms/Apple ci iOS --fast-ci
381362
382363 build-emscripten :
383364 name : ' Emscripten'
@@ -393,15 +374,15 @@ jobs:
393374
394375 test-hypothesis :
395376 name : " Hypothesis tests on Ubuntu"
396- runs-on : ubuntu-24 .04
377+ runs-on : ubuntu-26 .04
397378 timeout-minutes : 60
398379 needs : build-context
399380 if : needs.build-context.outputs.run-ubuntu == 'true'
400381 env :
401382 OPENSSL_VER : 3.5.7
402383 PYTHONSTRICTEXTENSIONBUILD : 1
403384 steps :
404- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
385+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
405386 with :
406387 persist-credentials : false
407388 - name : Register gcc problem matcher
@@ -504,13 +485,13 @@ jobs:
504485 strategy :
505486 fail-fast : false
506487 matrix :
507- os : [ubuntu-24 .04]
488+ os : [ubuntu-26 .04]
508489 env :
509490 OPENSSL_VER : 3.5.7
510491 PYTHONSTRICTEXTENSIONBUILD : 1
511492 ASAN_OPTIONS : detect_leaks=0:allocator_may_return_null=1:handle_segv=0
512493 steps :
513- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
494+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
514495 with :
515496 persist-credentials : false
516497 - name : Runner image version
@@ -519,10 +500,6 @@ jobs:
519500 run : echo "::add-matcher::.github/problem-matchers/gcc.json"
520501 - name : Install dependencies
521502 run : sudo ./.github/workflows/posix-deps-apt.sh
522- - name : Set up GCC-10 for ASAN
523- uses : egor-tensin/setup-gcc@a2861a8b8538f49cf2850980acccf6b05a1b2ae4 # v2.0
524- with :
525- version : 10
526503 - name : Configure OpenSSL env vars
527504 run : |
528505 echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"
@@ -572,12 +549,12 @@ jobs:
572549
573550 cross-build-linux :
574551 name : Cross build Linux
575- runs-on : ubuntu-latest
552+ runs-on : ubuntu-26.04
576553 timeout-minutes : 60
577554 needs : build-context
578555 if : needs.build-context.outputs.run-ubuntu == 'true'
579556 steps :
580- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
557+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
581558 with :
582559 persist-credentials : false
583560 - name : Runner image version
@@ -601,6 +578,9 @@ jobs:
601578 run : ./configure --prefix="$BUILD_DIR/cross-python" --with-build-python="$BUILD_DIR/host-python/bin/python3"
602579 - name : Install cross Python
603580 run : make -j8 install
581+ - name : Display build info
582+ run : |
583+ "$BUILD_DIR/cross-python/bin/python3" -m test.pythoninfo
604584 - name : Run test subset with host build
605585 run : |
606586 "$BUILD_DIR/cross-python/bin/python3" -m test test_sysconfig test_site test_embed
@@ -660,9 +640,9 @@ jobs:
660640 - check-generated-files
661641 - check-c-api-docs
662642 - build-windows
663- - build-windows-msi
664643 - build-macos
665644 - build-ubuntu
645+ - build-ubuntu-installed
666646 - build-ubuntu-ssltests
667647 - build-ios
668648 - build-emscripten
@@ -681,7 +661,6 @@ jobs:
681661 allowed-failures : >-
682662 build-android,
683663 build-emscripten,
684- build-windows-msi,
685664 build-ubuntu-ssltests,
686665 test-hypothesis,
687666 cifuzz,
@@ -713,6 +692,7 @@ jobs:
713692 !fromJSON(needs.build-context.outputs.run-ubuntu)
714693 && '
715694 build-ubuntu,
695+ build-ubuntu-installed,
716696 build-ubuntu-ssltests,
717697 test-hypothesis,
718698 build-asan,
0 commit comments