diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2c3a400..8b59713 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,7 @@ on: branches: [main] pull_request: branches: [main] + merge_group: env: CARGO_TERM_COLOR: always @@ -74,3 +75,20 @@ jobs: - run: chmod +x /usr/local/bin/cfsrun /usr/local/bin/cfsctl - name: Run rootful integration tests run: cargo test --test integration + + required-checks: + name: Required Checks + if: always() + needs: [fmt, build, integration-rootful] + runs-on: ubuntu-24.04 + steps: + - name: Check all jobs + env: + NEEDS: ${{ toJson(needs) }} + run: | + FAILED=$(echo "$NEEDS" | jq -r 'to_entries[] | select(.value.result | IN("success","skipped") | not) | .key') + if [ -n "$FAILED" ]; then + echo "The following jobs did not succeed: $FAILED" + exit 1 + fi + echo "All jobs succeeded or were skipped."