Skip to content

Commit

Permalink
ci: Introduce a meta job for the tests
Browse files Browse the repository at this point in the history
When adding GitHub protection rules for a job, one needs to select the
jobs based on the name, for example here "coding standards / coding
standards".

However, for jobs that are issued from a matrix, like here the unit
test, one needs to add "unit tests / PHP 8.1 - Symfony 5.4.* - Composer --prefer-stable", "unit tests / PHP 8.2 - Symfony 5.4.* - Composer --prefer-stable" and co. manually. This is both tedious to add and to keep up to date as any change in the matrix result in this rule to be outdated.

This PR introduces a very simple solution: have a meta job that passes
if and only if all of the unit tests passes. This way we can have a rule
for this job instead, which has a fixed label.
  • Loading branch information
theofidry committed Oct 1, 2023
1 parent d0e7e85 commit 053c611
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,21 @@ jobs:
- name: clear docker volumes
if: ${{ always() }}
run: dev/bin/docker-compose down --volumes


# This is a "trick", a meta task which does not change, and we can use in
# the protected branch rules as opposed to the individual tests which
# may change regularly.
validate-tests:
name: tests status
runs-on: ubuntu-latest
needs: [ tests ]
if: always()
steps:
- name: Successful run
if: ${{ !(contains(needs.*.result, 'failure')) }}
run: exit 0

- name: Failing run
if: ${{ contains(needs.*.result, 'failure') }}
run: exit 1

0 comments on commit 053c611

Please sign in to comment.