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,29 +260,28 @@ 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
277267 # Keep 1.1.1w in our list despite it being upstream EOL and otherwise
278268 # unsupported as it most resembles other 1.1.1-work-a-like ssl APIs
279269 # supported by important vendors such as AWS-LC.
280270 - { name: openssl, version: 1.1.1w }
281- - { name: openssl, version: 3.0.20 }
282- - { name: openssl, version: 3.3.7 }
283- - { name: openssl, version: 3.4.5 }
284- - { name: openssl, version: 3.5.6 }
285- - { name: openssl, version: 3.6.2 }
286- - { name: openssl, version: 4.0.0 }
271+ - { name: openssl, version: 3.0.21 }
272+ - { name: openssl, version: 3.4.6 }
273+ - { name: openssl, version: 3.5.7 }
274+ - { name: openssl, version: 3.6.3 }
275+ - { name: openssl, version: 4.0.1 }
287276 # # AWS-LC
288- - { name: aws-lc, version: 1.72.1 }
277+ - { name: aws-lc, version: 5.0.0 }
289278 env :
290279 SSLLIB_VER : ${{ matrix.ssllib.version }}
291280 MULTISSL_DIR : ${{ github.workspace }}/multissl
292281 SSLLIB_DIR : ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
293282 LD_LIBRARY_PATH : ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}/lib
294283 steps :
295- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
284+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
296285 with :
297286 persist-credentials : false
298287 - name : Runner image version
@@ -347,11 +336,11 @@ jobs:
347336 - arch : aarch64
348337 runs-on : macos-26
349338 - arch : x86_64
350- runs-on : ubuntu-24 .04
339+ runs-on : ubuntu-26 .04
351340
352341 runs-on : ${{ matrix.runs-on }}
353342 steps :
354- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
343+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
355344 with :
356345 persist-credentials : false
357346 - name : Build and test
@@ -362,23 +351,14 @@ jobs:
362351 needs : build-context
363352 if : needs.build-context.outputs.run-ios == 'true'
364353 timeout-minutes : 60
365- runs-on : macos-14
354+ runs-on : macos-26
366355 steps :
367- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
356+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
368357 with :
369358 persist-credentials : false
370359
371- # GitHub recommends explicitly selecting the desired Xcode version:
372- # https://github.com/actions/runner-images/issues/12541#issuecomment-3083850140
373- # This became a necessity as a result of
374- # https://github.com/actions/runner-images/issues/12541 and
375- # https://github.com/actions/runner-images/issues/12751.
376- - name : Select Xcode version
377- run : |
378- sudo xcode-select --switch /Applications/Xcode_15.4.app
379-
380360 - name : Build and test
381- 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
382362
383363 build-emscripten :
384364 name : ' Emscripten'
@@ -394,15 +374,15 @@ jobs:
394374
395375 test-hypothesis :
396376 name : " Hypothesis tests on Ubuntu"
397- runs-on : ubuntu-24 .04
377+ runs-on : ubuntu-26 .04
398378 timeout-minutes : 60
399379 needs : build-context
400380 if : needs.build-context.outputs.run-ubuntu == 'true'
401381 env :
402- OPENSSL_VER : 3.5.6
382+ OPENSSL_VER : 3.5.7
403383 PYTHONSTRICTEXTENSIONBUILD : 1
404384 steps :
405- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
385+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
406386 with :
407387 persist-credentials : false
408388 - name : Register gcc problem matcher
@@ -505,13 +485,13 @@ jobs:
505485 strategy :
506486 fail-fast : false
507487 matrix :
508- os : [ubuntu-24 .04]
488+ os : [ubuntu-26 .04]
509489 env :
510- OPENSSL_VER : 3.5.6
490+ OPENSSL_VER : 3.5.7
511491 PYTHONSTRICTEXTENSIONBUILD : 1
512492 ASAN_OPTIONS : detect_leaks=0:allocator_may_return_null=1:handle_segv=0
513493 steps :
514- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
494+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
515495 with :
516496 persist-credentials : false
517497 - name : Runner image version
@@ -520,10 +500,6 @@ jobs:
520500 run : echo "::add-matcher::.github/problem-matchers/gcc.json"
521501 - name : Install dependencies
522502 run : sudo ./.github/workflows/posix-deps-apt.sh
523- - name : Set up GCC-10 for ASAN
524- uses : egor-tensin/setup-gcc@a2861a8b8538f49cf2850980acccf6b05a1b2ae4 # v2.0
525- with :
526- version : 10
527503 - name : Configure OpenSSL env vars
528504 run : |
529505 echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"
@@ -573,12 +549,12 @@ jobs:
573549
574550 cross-build-linux :
575551 name : Cross build Linux
576- runs-on : ubuntu-latest
552+ runs-on : ubuntu-26.04
577553 timeout-minutes : 60
578554 needs : build-context
579555 if : needs.build-context.outputs.run-ubuntu == 'true'
580556 steps :
581- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
557+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
582558 with :
583559 persist-credentials : false
584560 - name : Runner image version
@@ -602,6 +578,9 @@ jobs:
602578 run : ./configure --prefix="$BUILD_DIR/cross-python" --with-build-python="$BUILD_DIR/host-python/bin/python3"
603579 - name : Install cross Python
604580 run : make -j8 install
581+ - name : Display build info
582+ run : |
583+ "$BUILD_DIR/cross-python/bin/python3" -m test.pythoninfo
605584 - name : Run test subset with host build
606585 run : |
607586 "$BUILD_DIR/cross-python/bin/python3" -m test test_sysconfig test_site test_embed
@@ -661,9 +640,9 @@ jobs:
661640 - check-generated-files
662641 - check-c-api-docs
663642 - build-windows
664- - build-windows-msi
665643 - build-macos
666644 - build-ubuntu
645+ - build-ubuntu-installed
667646 - build-ubuntu-ssltests
668647 - build-ios
669648 - build-emscripten
@@ -682,7 +661,6 @@ jobs:
682661 allowed-failures : >-
683662 build-android,
684663 build-emscripten,
685- build-windows-msi,
686664 build-ubuntu-ssltests,
687665 test-hypothesis,
688666 cifuzz,
@@ -714,6 +692,7 @@ jobs:
714692 !fromJSON(needs.build-context.outputs.run-ubuntu)
715693 && '
716694 build-ubuntu,
695+ build-ubuntu-installed,
717696 build-ubuntu-ssltests,
718697 test-hypothesis,
719698 build-asan,
0 commit comments