diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index b78c6edcd..9cb456745 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -601,3 +601,41 @@ jobs: fi echo "OK: Push access verified -- FORGEJO_TOKEN has write permission on ${REPO}" echo "=== Push access smoke-test passed ===" + status-check: + if: always() + needs: [lint, typecheck, security, quality, unit_tests, integration_tests, e2e_tests, coverage, build, docker, helm, push-validation] + runs-on: docker + container: + image: python:3.13-slim + steps: + - name: Check required job results + run: | + echo "lint: ${{ needs.lint.result }}" + echo "typecheck: ${{ needs.typecheck.result }}" + echo "security: ${{ needs.security.result }}" + echo "quality: ${{ needs.quality.result }}" + echo "unit_tests: ${{ needs.unit_tests.result }}" + echo "integration_tests: ${{ needs.integration_tests.result }}" + echo "e2e_tests: ${{ needs.e2e_tests.result }}" + echo "coverage: ${{ needs.coverage.result }}" + echo "build: ${{ needs.build.result }}" + echo "docker: ${{ needs.docker.result }}" + echo "helm: ${{ needs.helm.result }}" + echo "push-validation: ${{ needs.push-validation.result }}" + + if [ "${{ needs.lint.result }}" != "success" ] || \ + [ "${{ needs.typecheck.result }}" != "success" ] || \ + [ "${{ needs.security.result }}" != "success" ] || \ + [ "${{ needs.quality.result }}" != "success" ] || \ + [ "${{ needs.unit_tests.result }}" != "success" ] || \ + [ "${{ needs.integration_tests.result }}" != "success" ] || \ + [ "${{ needs.e2e_tests.result }}" != "success" ] || \ + [ "${{ needs.coverage.result }}" != "success" ] || \ + [ "${{ needs.build.result }}" != "success" ] || \ + [ "${{ needs.docker.result }}" != "success" ] || \ + [ "${{ needs.helm.result }}" != "success" ] || \ + [ "${{ needs.push-validation.result }}" != "success" ]; then + echo "FAILED: One or more required jobs did not succeed" + exit 1 + fi + echo "All required CI checks passed"