diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index e7f5f4c..ca3e063 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -18,7 +18,7 @@ env: jobs: # All test running sequentially take around ~2h. # Sppliting them in groups that take more or less the same time makes PR's readiness faster - test: + test-group: strategy: matrix: label: @@ -37,3 +37,20 @@ jobs: with: go-version-file: go.mod - run: make test + + # Have a fixed test to run once matrix tests are completed so we can make this required + test: + runs-on: default-runner-set + # We need this to run always to force-fail (and not skip) if any needed + # job has failed. Otherwise, a skipped job will not fail the workflow. + if: always() + steps: + - run: | + echo "tests completed" + [ "${{ + contains(needs.*.result, 'failure') || + contains(needs.*.result, 'cancelled') || + contains(needs.*.result, 'skipped') + }}" == "false" ] || exit 1 + needs: + - test-group