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-14 is M1 , macos-15 -intel is Intel.
202- # macos-15 -intel only runs tests against the GIL-enabled CPython.
209+ # macos-26 is Apple Silicon , macos-26 -intel is Intel.
210+ # macos-26 -intel only runs tests against the GIL-enabled CPython.
203211 os :
204- - macos-14
205- - macos-15 -intel
212+ - macos-26
213+ - macos-26 -intel
206214 free-threading :
207215 - false
208216 - true
209217 exclude :
210- - os : macos-15 -intel
218+ - os : macos-26 -intel
211219 free-threading : true
212220 uses : ./.github/workflows/reusable-macos.yml
213221 with :
@@ -283,7 +291,7 @@ jobs:
283291 SSLLIB_DIR : ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
284292 LD_LIBRARY_PATH : ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}/lib
285293 steps :
286- - uses : actions/checkout@v6
294+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
287295 with :
288296 persist-credentials : false
289297 - name : Runner image version
@@ -294,7 +302,7 @@ jobs:
294302 run : sudo ./.github/workflows/posix-deps-apt.sh
295303 - name : ' Restore SSL library build'
296304 id : cache-ssl-lib
297- uses : actions/cache@v5
305+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
298306 with :
299307 path : ./multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
300308 key : ${{ matrix.os }}-multissl-${{ matrix.ssllib.name }}-${{ matrix.ssllib.version }}
@@ -336,13 +344,13 @@ jobs:
336344 matrix :
337345 include :
338346 - arch : aarch64
339- runs-on : macos-14
347+ runs-on : macos-26
340348 - arch : x86_64
341349 runs-on : ubuntu-24.04
342350
343351 runs-on : ${{ matrix.runs-on }}
344352 steps :
345- - uses : actions/checkout@v6
353+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
346354 with :
347355 persist-credentials : false
348356 - name : Build and test
@@ -355,7 +363,7 @@ jobs:
355363 timeout-minutes : 60
356364 runs-on : macos-14
357365 steps :
358- - uses : actions/checkout@v6
366+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
359367 with :
360368 persist-credentials : false
361369
@@ -369,7 +377,7 @@ jobs:
369377 sudo xcode-select --switch /Applications/Xcode_15.4.app
370378
371379 - name : Build and test
372- run : python3 Apple ci iOS --fast-ci --simulator 'iPhone SE (3rd generation),OS=17.5'
380+ run : python3 Platforms/ Apple ci iOS --fast-ci --simulator 'iPhone SE (3rd generation),OS=17.5'
373381
374382 build-emscripten :
375383 name : ' Emscripten'
@@ -393,7 +401,7 @@ jobs:
393401 OPENSSL_VER : 3.5.5
394402 PYTHONSTRICTEXTENSIONBUILD : 1
395403 steps :
396- - uses : actions/checkout@v6
404+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
397405 with :
398406 persist-credentials : false
399407 - name : Register gcc problem matcher
@@ -407,7 +415,7 @@ jobs:
407415 echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
408416 - name : ' Restore OpenSSL build'
409417 id : cache-openssl
410- uses : actions/cache@v5
418+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
411419 with :
412420 path : ./multissl/openssl/${{ env.OPENSSL_VER }}
413421 key : ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -454,7 +462,7 @@ jobs:
454462 ./python -m venv "$VENV_LOC" && "$VENV_PYTHON" -m pip install -r "${GITHUB_WORKSPACE}/Tools/requirements-hypothesis.txt"
455463 - name : ' Restore Hypothesis database'
456464 id : cache-hypothesis-database
457- uses : actions/cache@v5
465+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
458466 with :
459467 path : ${{ env.CPYTHON_BUILDDIR }}/.hypothesis/
460468 key : hypothesis-database-${{ github.head_ref || github.run_id }}
@@ -481,7 +489,7 @@ jobs:
481489 -x test_subprocess \
482490 -x test_signal \
483491 -x test_sysconfig
484- - uses : actions/upload-artifact@v7
492+ - uses : actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
485493 if : always()
486494 with :
487495 name : hypothesis-example-db
@@ -502,7 +510,7 @@ jobs:
502510 PYTHONSTRICTEXTENSIONBUILD : 1
503511 ASAN_OPTIONS : detect_leaks=0:allocator_may_return_null=1:handle_segv=0
504512 steps :
505- - uses : actions/checkout@v6
513+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
506514 with :
507515 persist-credentials : false
508516 - name : Runner image version
@@ -512,7 +520,7 @@ jobs:
512520 - name : Install dependencies
513521 run : sudo ./.github/workflows/posix-deps-apt.sh
514522 - name : Set up GCC-10 for ASAN
515- uses : egor-tensin/setup-gcc@v2
523+ uses : egor-tensin/setup-gcc@a2861a8b8538f49cf2850980acccf6b05a1b2ae4 # v2.0
516524 with :
517525 version : 10
518526 - name : Configure OpenSSL env vars
@@ -522,7 +530,7 @@ jobs:
522530 echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
523531 - name : ' Restore OpenSSL build'
524532 id : cache-openssl
525- uses : actions/cache@v5
533+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
526534 with :
527535 path : ./multissl/openssl/${{ env.OPENSSL_VER }}
528536 key : ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -569,7 +577,7 @@ jobs:
569577 needs : build-context
570578 if : needs.build-context.outputs.run-ubuntu == 'true'
571579 steps :
572- - uses : actions/checkout@v6
580+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
573581 with :
574582 persist-credentials : false
575583 - name : Runner image version
0 commit comments