6464 run : |
6565 apt update && apt install git -yq
6666 git config --global --add safe.directory "$GITHUB_WORKSPACE"
67- - uses : actions/checkout@v6
67+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
6868 with :
6969 fetch-depth : 1
7070 persist-credentials : false
@@ -101,10 +101,10 @@ jobs:
101101 needs : build-context
102102 if : needs.build-context.outputs.run-tests == 'true'
103103 steps :
104- - uses : actions/checkout@v6
104+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
105105 with :
106106 persist-credentials : false
107- - uses : actions/setup-python@v6
107+ - uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
108108 with :
109109 python-version : ' 3.x'
110110 - name : Runner image version
@@ -165,13 +165,21 @@ jobs:
165165 free-threading :
166166 - false
167167 - true
168+ interpreter :
169+ - switch-case
168170 exclude :
169171 # Skip Win32 on free-threaded builds
170172 - { arch: Win32, free-threading: true }
173+ include :
174+ # msvc::musttail is currently only supported on x64,
175+ # and only supported on 3.15+.
176+ - { arch: x64, free-threading: false, interpreter: tail-call }
177+ - { arch: x64, free-threading: true, interpreter: tail-call }
171178 uses : ./.github/workflows/reusable-windows.yml
172179 with :
173180 arch : ${{ matrix.arch }}
174181 free-threading : ${{ matrix.free-threading }}
182+ interpreter : ${{ matrix.interpreter }}
175183
176184 build-windows-msi :
177185 # ${{ '' } is a hack to nest jobs under the same sidebar category.
@@ -198,16 +206,16 @@ jobs:
198206 strategy :
199207 fail-fast : false
200208 matrix :
201- # macos-26 is Apple Silicon, macos-26 -intel is Intel.
202- # macos-26 -intel only runs tests against the GIL-enabled CPython.
209+ # macos-26 is Apple Silicon, macos-15 -intel is Intel.
210+ # macos-15 -intel only runs tests against the GIL-enabled CPython.
203211 os :
204212 - macos-26
205- - macos-26 -intel
213+ - macos-15 -intel
206214 free-threading :
207215 - false
208216 - true
209217 exclude :
210- - os : macos-26 -intel
218+ - os : macos-15 -intel
211219 free-threading : true
212220 uses : ./.github/workflows/reusable-macos.yml
213221 with :
@@ -270,20 +278,21 @@ jobs:
270278 # unsupported as it most resembles other 1.1.1-work-a-like ssl APIs
271279 # supported by important vendors such as AWS-LC.
272280 - { name: openssl, version: 1.1.1w }
273- - { name: openssl, version: 3.0.19 }
274- - { name: openssl, version: 3.3.6 }
275- - { name: openssl, version: 3.4.4 }
276- - { name: openssl, version: 3.5.5 }
277- - { name: openssl, version: 3.6.1 }
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 }
278287 # # AWS-LC
279- - { name: aws-lc, version: 1.68.0 }
288+ - { name: aws-lc, version: 1.72.1 }
280289 env :
281290 SSLLIB_VER : ${{ matrix.ssllib.version }}
282291 MULTISSL_DIR : ${{ github.workspace }}/multissl
283292 SSLLIB_DIR : ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
284293 LD_LIBRARY_PATH : ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}/lib
285294 steps :
286- - uses : actions/checkout@v6
295+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
287296 with :
288297 persist-credentials : false
289298 - name : Runner image version
@@ -294,7 +303,7 @@ jobs:
294303 run : sudo ./.github/workflows/posix-deps-apt.sh
295304 - name : ' Restore SSL library build'
296305 id : cache-ssl-lib
297- uses : actions/cache@v5
306+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
298307 with :
299308 path : ./multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
300309 key : ${{ matrix.os }}-multissl-${{ matrix.ssllib.name }}-${{ matrix.ssllib.version }}
@@ -342,11 +351,11 @@ jobs:
342351
343352 runs-on : ${{ matrix.runs-on }}
344353 steps :
345- - uses : actions/checkout@v6
354+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
346355 with :
347356 persist-credentials : false
348357 - name : Build and test
349- run : . /Android/android.py ci --fast-ci ${{ matrix.arch }}-linux-android
358+ run : python3 Platforms /Android ci --fast-ci ${{ matrix.arch }}-linux-android
350359
351360 build-ios :
352361 name : iOS
@@ -355,7 +364,7 @@ jobs:
355364 timeout-minutes : 60
356365 runs-on : macos-14
357366 steps :
358- - uses : actions/checkout@v6
367+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
359368 with :
360369 persist-credentials : false
361370
@@ -369,7 +378,7 @@ jobs:
369378 sudo xcode-select --switch /Applications/Xcode_15.4.app
370379
371380 - name : Build and test
372- run : python3 Apple ci iOS --fast-ci --simulator 'iPhone SE (3rd generation),OS=17.5'
381+ run : python3 Platforms/ Apple ci iOS --fast-ci --simulator 'iPhone SE (3rd generation),OS=17.5'
373382
374383 build-emscripten :
375384 name : ' Emscripten'
@@ -390,10 +399,10 @@ jobs:
390399 needs : build-context
391400 if : needs.build-context.outputs.run-ubuntu == 'true'
392401 env :
393- OPENSSL_VER : 3.5.5
402+ OPENSSL_VER : 3.5.6
394403 PYTHONSTRICTEXTENSIONBUILD : 1
395404 steps :
396- - uses : actions/checkout@v6
405+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
397406 with :
398407 persist-credentials : false
399408 - name : Register gcc problem matcher
@@ -407,7 +416,7 @@ jobs:
407416 echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
408417 - name : ' Restore OpenSSL build'
409418 id : cache-openssl
410- uses : actions/cache@v5
419+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
411420 with :
412421 path : ./multissl/openssl/${{ env.OPENSSL_VER }}
413422 key : ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -454,7 +463,7 @@ jobs:
454463 ./python -m venv "$VENV_LOC" && "$VENV_PYTHON" -m pip install -r "${GITHUB_WORKSPACE}/Tools/requirements-hypothesis.txt"
455464 - name : ' Restore Hypothesis database'
456465 id : cache-hypothesis-database
457- uses : actions/cache@v5
466+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
458467 with :
459468 path : ${{ env.CPYTHON_BUILDDIR }}/.hypothesis/
460469 key : hypothesis-database-${{ github.head_ref || github.run_id }}
@@ -481,7 +490,7 @@ jobs:
481490 -x test_subprocess \
482491 -x test_signal \
483492 -x test_sysconfig
484- - uses : actions/upload-artifact@v7
493+ - uses : actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
485494 if : always()
486495 with :
487496 name : hypothesis-example-db
@@ -498,11 +507,11 @@ jobs:
498507 matrix :
499508 os : [ubuntu-24.04]
500509 env :
501- OPENSSL_VER : 3.5.5
510+ OPENSSL_VER : 3.5.6
502511 PYTHONSTRICTEXTENSIONBUILD : 1
503512 ASAN_OPTIONS : detect_leaks=0:allocator_may_return_null=1:handle_segv=0
504513 steps :
505- - uses : actions/checkout@v6
514+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
506515 with :
507516 persist-credentials : false
508517 - name : Runner image version
@@ -512,7 +521,7 @@ jobs:
512521 - name : Install dependencies
513522 run : sudo ./.github/workflows/posix-deps-apt.sh
514523 - name : Set up GCC-10 for ASAN
515- uses : egor-tensin/setup-gcc@v2
524+ uses : egor-tensin/setup-gcc@a2861a8b8538f49cf2850980acccf6b05a1b2ae4 # v2.0
516525 with :
517526 version : 10
518527 - name : Configure OpenSSL env vars
@@ -522,7 +531,7 @@ jobs:
522531 echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
523532 - name : ' Restore OpenSSL build'
524533 id : cache-openssl
525- uses : actions/cache@v5
534+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
526535 with :
527536 path : ./multissl/openssl/${{ env.OPENSSL_VER }}
528537 key : ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -569,7 +578,7 @@ jobs:
569578 needs : build-context
570579 if : needs.build-context.outputs.run-ubuntu == 'true'
571580 steps :
572- - uses : actions/checkout@v6
581+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
573582 with :
574583 persist-credentials : false
575584 - name : Runner image version
@@ -605,6 +614,7 @@ jobs:
605614 needs.build-context.outputs.run-ci-fuzz == 'true'
606615 || needs.build-context.outputs.run-ci-fuzz-stdlib == 'true'
607616 permissions :
617+ contents : read
608618 security-events : write
609619 strategy :
610620 fail-fast : false
0 commit comments