1111 - ' main'
1212 - ' 3.*'
1313
14- permissions :
15- contents : read
14+ permissions : {}
1615
1716concurrency :
1817 group : ${{ github.workflow }}-${{ github.head_ref || github.run_id }}-reusable
@@ -49,10 +48,10 @@ jobs:
4948 needs : build-context
5049 if : needs.build-context.outputs.run-tests == 'true'
5150 steps :
52- - uses : actions/checkout@v6
51+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
5352 with :
5453 persist-credentials : false
55- - uses : actions/setup-python@v6
54+ - uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
5655 - name : Install dependencies
5756 run : |
5857 sudo ./.github/workflows/posix-deps-apt.sh
8180 if : ${{ failure() && steps.check.conclusion == 'failure' }}
8281 run : |
8382 make regen-abidump
84- - uses : actions/upload-artifact@v6
83+ - uses : actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
8584 name : Publish updated ABI files
8685 if : ${{ failure() && steps.check.conclusion == 'failure' }}
8786 with :
@@ -103,7 +102,7 @@ jobs:
103102 run : |
104103 apt update && apt install git -yq
105104 git config --global --add safe.directory "$GITHUB_WORKSPACE"
106- - uses : actions/checkout@v6
105+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
107106 with :
108107 fetch-depth : 1
109108 persist-credentials : false
@@ -140,16 +139,16 @@ jobs:
140139 needs : build-context
141140 if : needs.build-context.outputs.run-tests == 'true'
142141 steps :
143- - uses : actions/checkout@v6
142+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
144143 with :
145144 persist-credentials : false
146- - uses : actions/setup-python@v6
145+ - uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
147146 with :
148147 python-version : ' 3.x'
149148 - name : Runner image version
150149 run : echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
151150 - name : Restore config.cache
152- uses : actions/cache@v5
151+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
153152 with :
154153 path : config.cache
155154 # Include env.pythonLocation in key to avoid changes in environment when setup-python updates Python
@@ -159,7 +158,7 @@ jobs:
159158 - name : Add ccache to PATH
160159 run : echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
161160 - name : Configure ccache action
162- uses : hendrikmuhs/ccache-action@v1.2
161+ uses : hendrikmuhs/ccache-action@5ebbd400eff9e74630f759d94ddd7b6c26299639 # v1.2.20
163162 with :
164163 save : false
165164 - name : Configure CPython
@@ -215,22 +214,6 @@ jobs:
215214 arch : ${{ matrix.arch }}
216215 free-threading : ${{ matrix.free-threading }}
217216
218- build-windows-msi :
219- name : >- # ${{ '' } is a hack to nest jobs under the same sidebar category
220- Windows MSI${{ '' }}
221- needs : build-context
222- if : fromJSON(needs.build-context.outputs.run-windows-msi)
223- strategy :
224- fail-fast : false
225- matrix :
226- arch :
227- - x86
228- - x64
229- - arm64
230- uses : ./.github/workflows/reusable-windows-msi.yml
231- with :
232- arch : ${{ matrix.arch }}
233-
234217 build-macos :
235218 name : >-
236219 macOS
@@ -240,10 +223,10 @@ jobs:
240223 strategy :
241224 fail-fast : false
242225 matrix :
243- # macos-14 is M1 , macos-15-intel is Intel.
226+ # macos-26 is Apple Silicon , macos-15-intel is Intel.
244227 # macos-15-intel only runs tests against the GIL-enabled CPython.
245228 os :
246- - macos-14
229+ - macos-26
247230 - macos-15-intel
248231 free-threading :
249232 - false
@@ -291,13 +274,13 @@ jobs:
291274 OPENSSL_DIR : ${{ github.workspace }}/multissl/openssl/${{ matrix.openssl_ver }}
292275 LD_LIBRARY_PATH : ${{ github.workspace }}/multissl/openssl/${{ matrix.openssl_ver }}/lib
293276 steps :
294- - uses : actions/checkout@v6
277+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
295278 with :
296279 persist-credentials : false
297280 - name : Runner image version
298281 run : echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
299282 - name : Restore config.cache
300- uses : actions/cache@v5
283+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
301284 with :
302285 path : config.cache
303286 key : ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}
@@ -312,7 +295,7 @@ jobs:
312295 echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
313296 - name : ' Restore OpenSSL build'
314297 id : cache-openssl
315- uses : actions/cache@v5
298+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
316299 with :
317300 path : ./multissl/openssl/${{ env.OPENSSL_VER }}
318301 key : ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -323,7 +306,7 @@ jobs:
323306 run : |
324307 echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
325308 - name : Configure ccache action
326- uses : hendrikmuhs/ccache-action@v1.2
309+ uses : hendrikmuhs/ccache-action@5ebbd400eff9e74630f759d94ddd7b6c26299639 # v1.2.20
327310 with :
328311 save : false
329312 - name : Configure CPython
@@ -345,7 +328,7 @@ jobs:
345328 OPENSSL_VER : 3.0.15
346329 PYTHONSTRICTEXTENSIONBUILD : 1
347330 steps :
348- - uses : actions/checkout@v6
331+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
349332 with :
350333 persist-credentials : false
351334 - name : Register gcc problem matcher
@@ -359,7 +342,7 @@ jobs:
359342 echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
360343 - name : ' Restore OpenSSL build'
361344 id : cache-openssl
362- uses : actions/cache@v5
345+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
363346 with :
364347 path : ./multissl/openssl/${{ env.OPENSSL_VER }}
365348 key : ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -370,7 +353,7 @@ jobs:
370353 run : |
371354 echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
372355 - name : Configure ccache action
373- uses : hendrikmuhs/ccache-action@v1.2
356+ uses : hendrikmuhs/ccache-action@5ebbd400eff9e74630f759d94ddd7b6c26299639 # v1.2.20
374357 with :
375358 save : false
376359 - name : Setup directory envs for out-of-tree builds
@@ -384,7 +367,7 @@ jobs:
384367 - name : Runner image version
385368 run : echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
386369 - name : Restore config.cache
387- uses : actions/cache@v5
370+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
388371 with :
389372 path : ${{ env.CPYTHON_BUILDDIR }}/config.cache
390373 key : ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}
@@ -417,7 +400,7 @@ jobs:
417400 ./python -m venv "$VENV_LOC" && "$VENV_PYTHON" -m pip install -r "${GITHUB_WORKSPACE}/Tools/requirements-hypothesis.txt"
418401 - name : ' Restore Hypothesis database'
419402 id : cache-hypothesis-database
420- uses : actions/cache@v5
403+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
421404 with :
422405 path : ./hypothesis
423406 key : hypothesis-database-${{ github.head_ref || github.run_id }}
@@ -443,7 +426,7 @@ jobs:
443426 -x test_subprocess \
444427 -x test_signal \
445428 -x test_sysconfig
446- - uses : actions/upload-artifact@v6
429+ - uses : actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
447430 if : always()
448431 with :
449432 name : hypothesis-example-db
@@ -464,13 +447,13 @@ jobs:
464447 PYTHONSTRICTEXTENSIONBUILD : 1
465448 ASAN_OPTIONS : detect_leaks=0:allocator_may_return_null=1:handle_segv=0
466449 steps :
467- - uses : actions/checkout@v6
450+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
468451 with :
469452 persist-credentials : false
470453 - name : Runner image version
471454 run : echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
472455 - name : Restore config.cache
473- uses : actions/cache@v5
456+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
474457 with :
475458 path : config.cache
476459 key : ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}
@@ -479,7 +462,7 @@ jobs:
479462 - name : Install dependencies
480463 run : sudo ./.github/workflows/posix-deps-apt.sh
481464 - name : Set up GCC-10 for ASAN
482- uses : egor-tensin/setup-gcc@v2
465+ uses : egor-tensin/setup-gcc@a2861a8b8538f49cf2850980acccf6b05a1b2ae4 # v2.0
483466 with :
484467 version : 10
485468 - name : Configure OpenSSL env vars
@@ -489,7 +472,7 @@ jobs:
489472 echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
490473 - name : ' Restore OpenSSL build'
491474 id : cache-openssl
492- uses : actions/cache@v5
475+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
493476 with :
494477 path : ./multissl/openssl/${{ env.OPENSSL_VER }}
495478 key : ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -500,7 +483,7 @@ jobs:
500483 run : |
501484 echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
502485 - name : Configure ccache action
503- uses : hendrikmuhs/ccache-action@v1.2
486+ uses : hendrikmuhs/ccache-action@5ebbd400eff9e74630f759d94ddd7b6c26299639 # v1.2.20
504487 with :
505488 save : ${{ github.event_name == 'push' }}
506489 max-size : " 200M"
@@ -539,7 +522,6 @@ jobs:
539522 - check-autoconf-regen
540523 - check-generated-files
541524 - build-windows
542- - build-windows-msi
543525 - build-macos
544526 - build-ubuntu
545527 - build-ubuntu-ssltests
@@ -553,7 +535,6 @@ jobs:
553535 uses : re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe
554536 with :
555537 allowed-failures : >-
556- build-windows-msi,
557538 build-ubuntu-ssltests,
558539 test-hypothesis,
559540 allowed-skips : >-
0 commit comments