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${{ '' }} 
185185needs : 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, 
639638allowed-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