summaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
authorSviatoslav Sydorenko <wk@sydorenko.org.ua>2023-07-06 15:06:18 (GMT)
committerGitHub <noreply@github.com>2023-07-06 15:06:18 (GMT)
commite7cd55753b00d6f7e5c8998bae73ebaa9e86398d (patch)
tree19b0edb352f2102af83a75cf6cf969a085257a74 /.github/workflows
parentd0c6ba956fca28785ad4dea6423cd44fd1124cad (diff)
downloadcpython-e7cd55753b00d6f7e5c8998bae73ebaa9e86398d.zip
cpython-e7cd55753b00d6f7e5c8998bae73ebaa9e86398d.tar.gz
cpython-e7cd55753b00d6f7e5c8998bae73ebaa9e86398d.tar.bz2
Introduce a gate/check GHA job (#97533)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build.yml57
1 files changed, 57 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 34fcce4..06551b1 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -519,3 +519,60 @@ jobs:
run: make pythoninfo
- name: Tests
run: xvfb-run make buildbottest TESTOPTS="-j4 -uall,-cpu"
+
+ all-required-green: # This job does nothing and is only used for the branch protection
+ name: All required checks pass
+ if: always()
+
+ needs:
+ - check_source # Transitive dependency, needed to access `run_tests` value
+ - check-docs
+ - check_generated_files
+ - build_win32
+ - build_win_amd64
+ - build_macos
+ - build_ubuntu
+ - build_ubuntu_ssltests
+ - test_hypothesis
+ - build_asan
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Check whether the needed jobs succeeded or failed
+ uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe
+ with:
+ allowed-failures: >-
+ build_macos,
+ build_ubuntu_ssltests,
+ build_win32,
+ test_hypothesis,
+ allowed-skips: >-
+ ${{
+ !fromJSON(needs.check_source.outputs.run-docs)
+ && '
+ check-docs,
+ '
+ || ''
+ }}
+ ${{
+ needs.check_source.outputs.run_tests != 'true'
+ && '
+ check_generated_files,
+ build_win32,
+ build_win_amd64,
+ build_macos,
+ build_ubuntu,
+ build_ubuntu_ssltests,
+ build_asan,
+ '
+ || ''
+ }}
+ ${{
+ !fromJSON(needs.check_source.outputs.run_hypothesis)
+ && '
+ test_hypothesis,
+ '
+ || ''
+ }}
+ jobs: ${{ toJSON(needs) }}