From 3429299264dd18ee4d2425aa0ccbb425cb32e9fc Mon Sep 17 00:00:00 2001 From: Matt Raible Date: Tue, 27 Oct 2026 11:32:30 -0600 Subject: [PATCH] Add a stable result check to each CI workflow The build jobs use a path-filtered matrix, so their check names change with each PR ("Build and test (reactive/helidon)" when it runs, "Build and test" when skipped). That makes them impossible to require in a branch rule. Each workflow now ends with a result job that always reports under one name and fails if any earlier job failed or was cancelled. --- .github/workflows/helidon.yml | 10 ++++++++++ .github/workflows/micronaut.yml | 10 ++++++++++ .github/workflows/quarkus.yml | 10 ++++++++++ .github/workflows/spring-boot.yml | 10 ++++++++++ 4 files changed, 40 insertions(+) diff --git a/.github/workflows/helidon.yml b/.github/workflows/helidon.yml index 89f1617..0081be1 100644 --- a/.github/workflows/helidon.yml +++ b/.github/workflows/helidon.yml @@ -43,3 +43,13 @@ jobs: - name: Run tests working-directory: ./${{ matrix.app }} run: mvn test + + result: + name: Helidon result + needs: [changes, build] + if: always() + runs-on: ubuntu-latest + steps: + - name: Fail if any job failed or was cancelled + if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }} + run: exit 1 diff --git a/.github/workflows/micronaut.yml b/.github/workflows/micronaut.yml index 171e095..85f34e9 100644 --- a/.github/workflows/micronaut.yml +++ b/.github/workflows/micronaut.yml @@ -43,3 +43,13 @@ jobs: - name: Run tests working-directory: ./${{ matrix.app }} run: ./gradlew test + + result: + name: Micronaut result + needs: [changes, build] + if: always() + runs-on: ubuntu-latest + steps: + - name: Fail if any job failed or was cancelled + if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }} + run: exit 1 diff --git a/.github/workflows/quarkus.yml b/.github/workflows/quarkus.yml index bf8b367..2c1dc33 100644 --- a/.github/workflows/quarkus.yml +++ b/.github/workflows/quarkus.yml @@ -43,3 +43,13 @@ jobs: - name: Run tests working-directory: ./${{ matrix.app }} run: ./gradlew test + + result: + name: Quarkus result + needs: [changes, build] + if: always() + runs-on: ubuntu-latest + steps: + - name: Fail if any job failed or was cancelled + if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }} + run: exit 1 diff --git a/.github/workflows/spring-boot.yml b/.github/workflows/spring-boot.yml index 9fcc3ea..f64071b 100644 --- a/.github/workflows/spring-boot.yml +++ b/.github/workflows/spring-boot.yml @@ -43,3 +43,13 @@ jobs: - name: Run tests working-directory: ./${{ matrix.app }} run: ./gradlew test + + result: + name: Spring Boot result + needs: [changes, build] + if: always() + runs-on: ubuntu-latest + steps: + - name: Fail if any job failed or was cancelled + if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }} + run: exit 1