From 33d60414bab0024fde7a5ad8062d5078554c34c9 Mon Sep 17 00:00:00 2001 From: Adam Moussa Date: Wed, 8 Jul 2026 16:30:20 -0400 Subject: [PATCH] ci: fail ci/ci aggregator on skipped needed jobs (INFRA-136) The inline ci/ci aggregator green-lit the org-required check when a needed job was SKIPPED (result 'skipped' is neither 'failure' nor 'cancelled'). Treat 'skipped' as a failure so a conditionally-skipped required job can no longer pass the required check without running. Contained inline fix; the audit's shared callable-ci-aggregate.yaml (Stub 4) is deferred as it needs a new org-wide reusable workflow. --- .github/workflows/ci.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ecd37ea..eee0590 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -24,4 +24,6 @@ jobs: steps: - name: All CI jobs passed run: | - [ "${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}" = "false" ] + # A skipped needed job must NOT green-light the required "ci / ci" + # context, so treat 'skipped' as a failure alongside failure/cancelled. + [ "${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}" = "false" ] -- 2.50.1