diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ff57b5d75..2591f5b68 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -108,3 +108,39 @@ jobs: e2e-tests: needs: [build] uses: ./.github/workflows/e2e-matrix.yml + + ci-summary: + name: CI summary + if: always() + needs: + - build + - linting + - tests + - generated + - multi-arch-build + - e2e-tests + runs-on: ubuntu-latest + steps: + - name: Check job results + run: | + echo "build: ${{ needs.build.result }}" + echo "linting: ${{ needs.linting.result }}" + echo "tests: ${{ needs.tests.result }}" + echo "generated: ${{ needs.generated.result }}" + echo "multi-arch-build: ${{ needs.multi-arch-build.result }}" + echo "e2e-tests: ${{ needs.e2e-tests.result }}" + results=( + "${{ needs.build.result }}" + "${{ needs.linting.result }}" + "${{ needs.tests.result }}" + "${{ needs.generated.result }}" + "${{ needs.multi-arch-build.result }}" + "${{ needs.e2e-tests.result }}" + ) + for result in "${results[@]}"; do + if [[ "$result" != "success" && "$result" != "skipped" ]]; then + echo "One or more jobs failed" + exit 1 + fi + done + echo "All jobs passed or were skipped"