From 4c1bf66452ce96bfd7b46b17f4f1eea221ae4398 Mon Sep 17 00:00:00 2001 From: Alex Eagle Date: Fri, 19 Jul 2024 14:05:00 -0700 Subject: [PATCH] feat: provide stable-named job for branch protection (#124) * feat: provide stable-named job for branch protection GitHub actions matrix "test" gets expanded to many status checks, making it impossible to keep the branch protection settings in the GitHub UI up-to-date as the matrix cells are updated. This provides a "conclusion" status which can be used instead. Thanks @mattmoor for the code! * Update ci.yaml --- .github/workflows/ci.yaml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index fedfc76..40b6b62 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -29,3 +29,23 @@ jobs: [ {"folder": ".", "bzlmodEnabled": false} ] + # For branch protection settings, this job provides a "stable" name that can be used to gate PR merges + # on "all matrix jobs were successful". + conclusion: + needs: test + runs-on: ubuntu-latest + if: always() + steps: + - uses: technote-space/workflow-conclusion-action@45ce8e0eb155657ab8ccf346ade734257fd196a5 # v3.0.3 + + # Note: possible conclusion values: + # https://github.com/technote-space/workflow-conclusion-action/blob/main/src/constant.ts + - name: report success + if: ${{ env.WORKFLOW_CONCLUSION == 'success' }} + working-directory: /tmp + run: echo ${{ env.WORKFLOW_CONCLUSION }} && exit 0 + + - name: report failure + if: ${{ env.WORKFLOW_CONCLUSION == 'failure' }} + working-directory: /tmp + run: echo ${{ env.WORKFLOW_CONCLUSION }} && exit 1