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
@@ -239,18 +239,18 @@ jobs:
239239 - false
240240 - true
241241 os :
242- - ubuntu-24 .04
243- - ubuntu-24 .04-arm
242+ - ubuntu-26 .04
243+ - ubuntu-26 .04-arm
244244 exclude :
245245 # Do not test BOLT with free-threading, to conserve resources
246246 - bolt : true
247247 free-threading : true
248248 # BOLT currently crashes during instrumentation on aarch64
249- - os : ubuntu-24 .04-arm
249+ - os : ubuntu-26 .04-arm
250250 bolt : true
251251 include :
252252 # Enable CPU-intensive tests on ARM (default build only)
253- - os : ubuntu-24 .04-arm
253+ - os : ubuntu-26 .04-arm
254254 bolt : false
255255 free-threading : false
256256 test-opts : ' -u cpu'
@@ -270,29 +270,28 @@ jobs:
270270 strategy :
271271 fail-fast : false
272272 matrix :
273- os : [ubuntu-24 .04]
273+ os : [ubuntu-26 .04]
274274 ssllib :
275275 # See Tools/ssl/make_ssl_data.py for notes on adding a new version
276276 # # OpenSSL
277277 # Keep 1.1.1w in our list despite it being upstream EOL and otherwise
278278 # unsupported as it most resembles other 1.1.1-work-a-like ssl APIs
279279 # supported by important vendors such as AWS-LC.
280280 - { 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 }
281+ - { name: openssl, version: 3.0.21 }
282+ - { name: openssl, version: 3.4.6 }
283+ - { name: openssl, version: 3.5.7 }
284+ - { name: openssl, version: 3.6.3 }
285+ - { name: openssl, version: 4.0.1 }
287286 # # AWS-LC
288- - { name: aws-lc, version: 1.72.1 }
287+ - { name: aws-lc, version: 5.0.0 }
289288 env :
290289 SSLLIB_VER : ${{ matrix.ssllib.version }}
291290 MULTISSL_DIR : ${{ github.workspace }}/multissl
292291 SSLLIB_DIR : ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
293292 LD_LIBRARY_PATH : ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}/lib
294293 steps :
295- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
294+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
296295 with :
297296 persist-credentials : false
298297 - name : Runner image version
@@ -347,15 +346,15 @@ jobs:
347346 - arch : aarch64
348347 runs-on : macos-26
349348 - arch : x86_64
350- runs-on : ubuntu-24 .04
349+ runs-on : ubuntu-26 .04
351350
352351 runs-on : ${{ matrix.runs-on }}
353352 steps :
354- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
353+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
355354 with :
356355 persist-credentials : false
357356 - name : Build and test
358- run : python3 Platforms/Android ci --fast-ci ${{ matrix.arch }}-linux-android
357+ run : JAVA_HOME="${JAVA_HOME_21_X64:-$JAVA_HOME_21_arm64}" python3 Platforms/Android ci --fast-ci ${{ matrix.arch }}-linux-android
359358
360359 build-ios :
361360 name : iOS
@@ -364,7 +363,7 @@ jobs:
364363 timeout-minutes : 60
365364 runs-on : macos-14
366365 steps :
367- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
366+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
368367 with :
369368 persist-credentials : false
370369
@@ -394,15 +393,15 @@ jobs:
394393
395394 test-hypothesis :
396395 name : " Hypothesis tests on Ubuntu"
397- runs-on : ubuntu-24 .04
396+ runs-on : ubuntu-26 .04
398397 timeout-minutes : 60
399398 needs : build-context
400399 if : needs.build-context.outputs.run-ubuntu == 'true'
401400 env :
402- OPENSSL_VER : 3.5.6
401+ OPENSSL_VER : 3.5.7
403402 PYTHONSTRICTEXTENSIONBUILD : 1
404403 steps :
405- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
404+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
406405 with :
407406 persist-credentials : false
408407 - name : Register gcc problem matcher
@@ -505,13 +504,13 @@ jobs:
505504 strategy :
506505 fail-fast : false
507506 matrix :
508- os : [ubuntu-24 .04]
507+ os : [ubuntu-26 .04]
509508 env :
510- OPENSSL_VER : 3.5.6
509+ OPENSSL_VER : 3.5.7
511510 PYTHONSTRICTEXTENSIONBUILD : 1
512511 ASAN_OPTIONS : detect_leaks=0:allocator_may_return_null=1:handle_segv=0
513512 steps :
514- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
513+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
515514 with :
516515 persist-credentials : false
517516 - name : Runner image version
@@ -520,10 +519,6 @@ jobs:
520519 run : echo "::add-matcher::.github/problem-matchers/gcc.json"
521520 - name : Install dependencies
522521 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
527522 - name : Configure OpenSSL env vars
528523 run : |
529524 echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"
@@ -559,7 +554,6 @@ jobs:
559554 - Thread
560555 free-threading :
561556 - false
562- - true
563557 sanitizer :
564558 - TSan
565559 include :
@@ -571,14 +565,25 @@ jobs:
571565 sanitizer : ${{ matrix.sanitizer }}
572566 free-threading : ${{ matrix.free-threading }}
573567
568+ # XXX: Temporarily allow this job to fail to not block PRs.
569+ build-san-free-threading :
570+ # ${{ '' } is a hack to nest jobs under the same sidebar category.
571+ name : Sanitizers${{ '' }} # zizmor: ignore[obfuscation]
572+ needs : build-context
573+ if : needs.build-context.outputs.run-ubuntu == 'true'
574+ uses : ./.github/workflows/reusable-san.yml
575+ with :
576+ sanitizer : TSan
577+ free-threading : true
578+
574579 cross-build-linux :
575580 name : Cross build Linux
576- runs-on : ubuntu-latest
581+ runs-on : ubuntu-26.04
577582 timeout-minutes : 60
578583 needs : build-context
579584 if : needs.build-context.outputs.run-ubuntu == 'true'
580585 steps :
581- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
586+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
582587 with :
583588 persist-credentials : false
584589 - name : Runner image version
@@ -602,6 +607,9 @@ jobs:
602607 run : ./configure --prefix="$BUILD_DIR/cross-python" --with-build-python="$BUILD_DIR/host-python/bin/python3"
603608 - name : Install cross Python
604609 run : make -j8 install
610+ - name : Display build info
611+ run : |
612+ "$BUILD_DIR/cross-python/bin/python3" -m test.pythoninfo
605613 - name : Run test subset with host build
606614 run : |
607615 "$BUILD_DIR/cross-python/bin/python3" -m test test_sysconfig test_site test_embed
@@ -671,6 +679,7 @@ jobs:
671679 - test-hypothesis
672680 - build-asan
673681 - build-san
682+ - build-san-free-threading
674683 - cross-build-linux
675684 - cifuzz
676685 if : always()
@@ -682,6 +691,7 @@ jobs:
682691 allowed-failures : >-
683692 build-android,
684693 build-emscripten,
694+ build-san-free-threading,
685695 build-windows-msi,
686696 build-ubuntu-ssltests,
687697 test-hypothesis,
0 commit comments