From ac162a894f856c14bb768db0f0697c276eeee8f1 Mon Sep 17 00:00:00 2001 From: jupblb Date: Fri, 17 Jul 2026 21:38:55 +0200 Subject: [PATCH] Add aggregator CI jobs for branch protection Add a ci-pass-style gate job to each PR-triggered workflow that depends on all other jobs and fails if any of them failed or was cancelled. This allows requiring just three status checks (CI pass, Nix pass, Repository indexing pass) to block PR merges instead of listing every job and matrix cell individually. --- .github/workflows/ci.yaml | 11 +++++++++++ .github/workflows/nix.yaml | 12 ++++++++++++ .github/workflows/repos.yaml | 12 ++++++++++++ 3 files changed, 35 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e3268b61..b433eeb4 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -66,3 +66,14 @@ jobs: export -f check_repo parallel -j4 check_repo ::: circe/circe indeedeng/iwf-java-sdk + + ci-pass: + if: always() + needs: [format, kotlin_plugin, docker_test] + runs-on: ubuntu-latest + name: CI pass + steps: + - if: >- + contains(needs.*.result, 'failure') || + contains(needs.*.result, 'cancelled') + run: exit 1 diff --git a/.github/workflows/nix.yaml b/.github/workflows/nix.yaml index 7b79f4ca..df2421d0 100644 --- a/.github/workflows/nix.yaml +++ b/.github/workflows/nix.yaml @@ -168,3 +168,15 @@ jobs: - run: du -h index.scip working-directory: examples/maven-example + + nix-pass: + if: always() + needs: [flake-check, test, bazel, bazel_aspect, snapshots, maven] + runs-on: ubuntu-latest + name: Nix pass + steps: + - if: >- + contains(needs.*.result, 'failure') || + contains(needs.*.result, 'cancelled') + shell: bash + run: exit 1 diff --git a/.github/workflows/repos.yaml b/.github/workflows/repos.yaml index fceffb8b..e1636314 100644 --- a/.github/workflows/repos.yaml +++ b/.github/workflows/repos.yaml @@ -271,3 +271,15 @@ jobs: fi exit 1 fi + + repos-pass: + if: always() + needs: [build-cli, index-repo] + runs-on: ubuntu-latest + name: Repository indexing pass + steps: + - if: >- + contains(needs.*.result, 'failure') || + contains(needs.*.result, 'cancelled') + shell: bash + run: exit 1