4343 if : fromJSON(needs.build-context.outputs.run-docs)
4444 uses : ./.github/workflows/reusable-docs.yml
4545
46- check_autoconf_regen :
46+ check-autoconf-regen :
4747 name : ' Check if Autoconf files are up to date'
4848 # Don't use ubuntu-latest but a specific version to make the job
4949 # reproducible: to get the same tools versions (autoconf, aclocal, ...)
8686 exit 1
8787 fi
8888
89- check_generated_files :
89+ check-generated-files :
9090 name : ' Check if generated files are up to date'
9191 # Don't use ubuntu-latest but a specific version to make the job
9292 # reproducible: to get the same tools versions (autoconf, aclocal, ...)
@@ -147,7 +147,7 @@ jobs:
147147 if : github.event_name == 'pull_request' # $GITHUB_EVENT_NAME
148148 run : make check-c-globals
149149
150- build_windows :
150+ build-windows :
151151 name : >-
152152 Windows
153153 ${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
@@ -179,7 +179,7 @@ jobs:
179179 arch : ${{ matrix.arch }}
180180 free-threading : ${{ matrix.free-threading }}
181181
182- build_windows_msi :
182+ build-windows-msi :
183183 name : >- # ${{ '' } is a hack to nest jobs under the same sidebar category
184184 Windows MSI${{ '' }}
185185 needs : build-context
@@ -194,7 +194,7 @@ jobs:
194194 with :
195195 arch : ${{ matrix.arch }}
196196
197- build_macos :
197+ build-macos :
198198 name : >-
199199 macOS
200200 ${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
@@ -228,7 +228,7 @@ jobs:
228228 free-threading : ${{ matrix.free-threading }}
229229 os : ${{ matrix.os }}
230230
231- build_ubuntu :
231+ build-ubuntu :
232232 name : >-
233233 Ubuntu
234234 ${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
@@ -260,7 +260,7 @@ jobs:
260260 free-threading : ${{ matrix.free-threading }}
261261 os : ${{ matrix.os }}
262262
263- build_ubuntu_ssltests :
263+ build-ubuntu-ssltests :
264264 name : ' Ubuntu SSL tests with OpenSSL'
265265 runs-on : ${{ matrix.os }}
266266 timeout-minutes : 60
@@ -322,15 +322,15 @@ jobs:
322322 - name : SSL tests
323323 run : ./python Lib/test/ssltests.py
324324
325- build_wasi :
325+ build-wasi :
326326 name : ' WASI'
327327 needs : build-context
328328 if : needs.build-context.outputs.run-tests == 'true'
329329 uses : ./.github/workflows/reusable-wasi.yml
330330 with :
331331 config_hash : ${{ needs.build-context.outputs.config-hash }}
332332
333- test_hypothesis :
333+ test-hypothesis :
334334 name : " Hypothesis tests on Ubuntu"
335335 runs-on : ubuntu-24.04
336336 timeout-minutes : 60
@@ -445,8 +445,7 @@ jobs:
445445 name : hypothesis-example-db
446446 path : ${{ env.CPYTHON_BUILDDIR }}/.hypothesis/examples/
447447
448-
449- build_asan :
448+ build-asan :
450449 name : ' Address sanitizer'
451450 runs-on : ${{ matrix.os }}
452451 timeout-minutes : 60
@@ -509,7 +508,7 @@ jobs:
509508 - name : Tests
510509 run : xvfb-run make ci
511510
512- build_tsan :
511+ build-tsan :
513512 name : >-
514513 Thread sanitizer
515514 ${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
@@ -528,6 +527,7 @@ jobs:
528527 cross-build-linux :
529528 name : Cross build Linux
530529 runs-on : ubuntu-latest
530+ timeout-minutes : 60
531531 needs : build-context
532532 if : needs.build-context.outputs.run-tests == 'true'
533533 steps :
@@ -592,8 +592,8 @@ jobs:
592592 output-sarif : true
593593 sanitizer : ${{ matrix.sanitizer }}
594594 - name : Upload crash
595- uses : actions/upload-artifact@v4
596595 if : failure() && steps.build.outcome == 'success'
596+ uses : actions/upload-artifact@v4
597597 with :
598598 name : ${{ matrix.sanitizer }}-artifacts
599599 path : ./out/artifacts
@@ -606,36 +606,35 @@ jobs:
606606
607607 all-required-green : # This job does nothing and is only used for the branch protection
608608 name : All required checks pass
609- if : always()
610-
609+ runs-on : ubuntu-latest
610+ timeout-minutes : 5
611611 needs :
612612 - build-context # Transitive dependency, needed to access `run-tests` value
613613 - check-docs
614- - check_autoconf_regen
615- - check_generated_files
616- - build_macos
617- - build_ubuntu
618- - build_ubuntu_ssltests
619- - build_wasi
620- - build_windows
621- - build_windows_msi
614+ - check-autoconf-regen
615+ - check-generated-files
616+ - build-windows
617+ - build-windows-msi
618+ - build-macos
619+ - build-ubuntu
620+ - build-ubuntu-ssltests
621+ - build-wasi
622+ - test-hypothesis
623+ - build-asan
624+ - build-tsan
622625 - cross-build-linux
623- - test_hypothesis
624- - build_asan
625- - build_tsan
626626 - cifuzz
627-
628- runs-on : ubuntu-latest
627+ if : always()
629628
630629 steps :
631630 - name : Check whether the needed jobs succeeded or failed
632631 uses : re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe
633632 with :
634633 allowed-failures : >-
635- build_ubuntu_ssltests,
636- build_windows_msi,
634+ build-windows-msi,
635+ build-ubuntu-ssltests,
636+ test-hypothesis,
637637 cifuzz,
638- test_hypothesis,
639638 allowed-skips : >-
640639 ${{
641640 !fromJSON(needs.build-context.outputs.run-docs)
@@ -647,23 +646,23 @@ jobs:
647646 ${{
648647 needs.build-context.outputs.run-tests != 'true'
649648 && '
650- check_autoconf_regen ,
651- check_generated_files ,
652- build_macos ,
653- build_ubuntu ,
654- build_ubuntu_ssltests ,
655- build_wasi ,
656- build_asan ,
657- build_tsan ,
658- test_hypothesis ,
649+ check-autoconf-regen ,
650+ check-generated-files ,
651+ build-macos ,
652+ build-ubuntu ,
653+ build-ubuntu-ssltests ,
654+ build-wasi ,
655+ test-hypothesis ,
656+ build-asan ,
657+ build-tsan ,
659658 cross-build-linux,
660659 '
661660 || ''
662661 }}
663662 ${{
664663 !fromJSON(needs.build-context.outputs.run-windows-tests)
665664 && '
666- build_windows ,
665+ build-windows ,
667666 '
668667 || ''
669668 }}
0 commit comments