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,7 +270,7 @@ 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
@@ -291,7 +291,7 @@ jobs:
291291 SSLLIB_DIR : ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
292292 LD_LIBRARY_PATH : ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}/lib
293293 steps :
294- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
294+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
295295 with :
296296 persist-credentials : false
297297 - name : Runner image version
@@ -346,15 +346,15 @@ jobs:
346346 - arch : aarch64
347347 runs-on : macos-26
348348 - arch : x86_64
349- runs-on : ubuntu-24 .04
349+ runs-on : ubuntu-26 .04
350350
351351 runs-on : ${{ matrix.runs-on }}
352352 steps :
353- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
353+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
354354 with :
355355 persist-credentials : false
356356 - name : Build and test
357- 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
358358
359359 build-ios :
360360 name : iOS
@@ -363,7 +363,7 @@ jobs:
363363 timeout-minutes : 60
364364 runs-on : macos-14
365365 steps :
366- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
366+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
367367 with :
368368 persist-credentials : false
369369
@@ -393,15 +393,15 @@ jobs:
393393
394394 test-hypothesis :
395395 name : " Hypothesis tests on Ubuntu"
396- runs-on : ubuntu-24 .04
396+ runs-on : ubuntu-26 .04
397397 timeout-minutes : 60
398398 needs : build-context
399399 if : needs.build-context.outputs.run-ubuntu == 'true'
400400 env :
401401 OPENSSL_VER : 3.5.7
402402 PYTHONSTRICTEXTENSIONBUILD : 1
403403 steps :
404- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
404+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
405405 with :
406406 persist-credentials : false
407407 - name : Register gcc problem matcher
@@ -504,13 +504,13 @@ jobs:
504504 strategy :
505505 fail-fast : false
506506 matrix :
507- os : [ubuntu-24 .04]
507+ os : [ubuntu-26 .04]
508508 env :
509509 OPENSSL_VER : 3.5.7
510510 PYTHONSTRICTEXTENSIONBUILD : 1
511511 ASAN_OPTIONS : detect_leaks=0:allocator_may_return_null=1:handle_segv=0
512512 steps :
513- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
513+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
514514 with :
515515 persist-credentials : false
516516 - name : Runner image version
@@ -519,10 +519,6 @@ jobs:
519519 run : echo "::add-matcher::.github/problem-matchers/gcc.json"
520520 - name : Install dependencies
521521 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
526522 - name : Configure OpenSSL env vars
527523 run : |
528524 echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"
@@ -558,7 +554,6 @@ jobs:
558554 - Thread
559555 free-threading :
560556 - false
561- - true
562557 sanitizer :
563558 - TSan
564559 include :
@@ -570,14 +565,25 @@ jobs:
570565 sanitizer : ${{ matrix.sanitizer }}
571566 free-threading : ${{ matrix.free-threading }}
572567
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+
573579 cross-build-linux :
574580 name : Cross build Linux
575- runs-on : ubuntu-latest
581+ runs-on : ubuntu-26.04
576582 timeout-minutes : 60
577583 needs : build-context
578584 if : needs.build-context.outputs.run-ubuntu == 'true'
579585 steps :
580- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 .0.2
586+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
581587 with :
582588 persist-credentials : false
583589 - name : Runner image version
@@ -673,6 +679,7 @@ jobs:
673679 - test-hypothesis
674680 - build-asan
675681 - build-san
682+ - build-san-free-threading
676683 - cross-build-linux
677684 - cifuzz
678685 if : always()
@@ -684,6 +691,7 @@ jobs:
684691 allowed-failures : >-
685692 build-android,
686693 build-emscripten,
694+ build-san-free-threading,
687695 build-windows-msi,
688696 build-ubuntu-ssltests,
689697 test-hypothesis,
0 commit comments