8787        with :
8888          filter : | 
8989            Doc/** 
90-             # Temporarily skip paths with spaces 
91-             # (i.e. "C API", "Core and Builtins") 
92-             # to avoid "Error: One of your files includes a space". 
93-             # Pending https://github.com/python/core-workflow/issues/186 
94-             # Misc/** 
95-             Misc/NEWS.d/next/Build/** 
96-             Misc/NEWS.d/next/Documentation/** 
97-             Misc/NEWS.d/next/IDLE/** 
98-             Misc/NEWS.d/next/Library/** 
99-             Misc/NEWS.d/next/Security/** 
100-             Misc/NEWS.d/next/Tests/** 
101-             Misc/NEWS.d/next/Tools-Demos/** 
102-             Misc/NEWS.d/next/Windows/** 
103-             Misc/NEWS.d/next/macOS/** 
90+             Misc/** 
10491            .github/workflows/reusable-docs.yml 
92+ format : csv   #  works for paths with spaces
10593      - name : Check for docs changes 
10694        if : >- 
10795          github.event_name == 'pull_request' 
@@ -232,7 +220,7 @@ jobs:
232220        path : config.cache 
233221        key : ${{ github.job }}-${{ runner.os }}-${{ needs.check_source.outputs.config_hash }} 
234222    - name : Install Homebrew dependencies 
235-       run : brew install pkg-config openssl@1.1  xz gdbm tcl-tk 
223+       run : brew install pkg-config openssl@3.0  xz gdbm tcl-tk 
236224    - name : Configure CPython 
237225      run : | 
238226        GDBM_CFLAGS="-I$(brew --prefix gdbm)/include" \ 
@@ -241,7 +229,7 @@ jobs:
241229          --config-cache \ 
242230          --with-pydebug \ 
243231          --prefix=/opt/python-dev \ 
244-           --with-openssl="$(brew --prefix openssl@1.1 )" 
232+           --with-openssl="$(brew --prefix openssl@3.0 )" 
245233name : Build CPython 
246234      run : make -j4 
247235    - name : Display build info 
@@ -531,3 +519,60 @@ jobs:
531519      run : make pythoninfo 
532520    - name : Tests 
533521      run : xvfb-run make buildbottest TESTOPTS="-j4 -uall,-cpu" 
522+ 
523+   all-required-green :  #  This job does nothing and is only used for the branch protection
524+     name : All required checks pass 
525+     if : always() 
526+ 
527+     needs :
528+     - check_source   #  Transitive dependency, needed to access `run_tests` value
529+     - check-docs 
530+     - check_generated_files 
531+     - build_win32 
532+     - build_win_amd64 
533+     - build_macos 
534+     - build_ubuntu 
535+     - build_ubuntu_ssltests 
536+     - test_hypothesis 
537+     - build_asan 
538+ 
539+     runs-on : ubuntu-latest 
540+ 
541+     steps :
542+     - name : Check whether the needed jobs succeeded or failed 
543+       uses : re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe 
544+       with :
545+         allowed-failures : >- 
546+           build_macos, 
547+           build_ubuntu_ssltests, 
548+           build_win32, 
549+           test_hypothesis, 
550+ allowed-skips : >- 
551+           ${{ 
552+             !fromJSON(needs.check_source.outputs.run-docs) 
553+             && ' 
554+             check-docs, 
555+             ' 
556+             || '' 
557+           }} 
558+           ${{ 
559+             needs.check_source.outputs.run_tests != 'true' 
560+             && ' 
561+             check_generated_files, 
562+             build_win32, 
563+             build_win_amd64, 
564+             build_macos, 
565+             build_ubuntu, 
566+             build_ubuntu_ssltests, 
567+             build_asan, 
568+             ' 
569+             || '' 
570+           }} 
571+           ${{ 
572+             !fromJSON(needs.check_source.outputs.run_hypothesis) 
573+             && ' 
574+             test_hypothesis, 
575+             ' 
576+             || '' 
577+           }} 
578+ jobs : ${{ toJSON(needs) }} 
0 commit comments