From 38aebb5ebd305e7e508a97ca57c98b1cdbfc3b55 Mon Sep 17 00:00:00 2001 From: Adam Moussa <166072409+amoussa1229@users.noreply.github.com> Date: Fri, 5 Jun 2026 15:11:48 -0400 Subject: [PATCH] chore(ci): add aggregator job reporting the org-required 'ci / ci' context (#108) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit proposal-system's seven CI jobs have distinct names, so the org ruleset's required 'ci / ci' status check never reported here. The aggregator needs all real CI jobs and fails if any failed or was cancelled. NOTE: this check will be red until the pre-existing Python Lint/Tests failures (INFRA-55) are fixed — it reports CI state honestly. --- .github/workflows/ci.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ee4886a..2da0753 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -105,3 +105,16 @@ jobs: dotnet-version: "8.0.x" dotnet-publish-project: api/src/ProposalSystem.Api/ProposalSystem.Api.csproj run-typecheck: false + + # Aggregator producing the org-required "ci / ci" status context. + # Caller/inline jobs here have distinct names, so the org ruleset's + # required check would otherwise never report on this repo. + ci: + name: ci / ci + needs: [dotnet, web, web-test, python, python-test, mobile, infra] + if: always() + runs-on: ubuntu-latest + steps: + - name: All CI jobs passed + run: | + [ "${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}" = "false" ]