diff --git a/.gitea/workflows/CI_JOB_STATUS.md b/.gitea/workflows/CI_JOB_STATUS.md index 9e54953..b51ce4c 100644 --- a/.gitea/workflows/CI_JOB_STATUS.md +++ b/.gitea/workflows/CI_JOB_STATUS.md @@ -69,3 +69,4 @@ The test results summary step uses `|| true` for parsing errors: - Parsing errors shouldn't fail the job - Actual test failures are caught by the test step itself + diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 1032c8f..e40601b 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -978,5 +978,49 @@ jobs: echo " 3. For local debugging, run \`pytest tests/ -v\` in your dev environment." } >> "$GITHUB_STEP_SUMMARY" || true fi - continue-on-error: true + + - name: Check for job failures + if: always() + run: | + FAILED=false + if [ "x${{ needs.lint-and-type-check.result }}" = "xfailure" ]; then + echo "❌ Lint & Type Check job failed" + FAILED=true + fi + if [ "x${{ needs.python-lint.result }}" = "xfailure" ]; then + echo "❌ Python Lint job failed" + FAILED=true + fi + if [ "x${{ needs.test-backend.result }}" = "xfailure" ]; then + echo "❌ Backend Tests job failed" + FAILED=true + fi + if [ "x${{ needs.build.result }}" = "xfailure" ]; then + echo "❌ Build job failed" + FAILED=true + fi + if [ "x${{ needs.secret-scanning.result }}" = "xfailure" ]; then + echo "❌ Secret Scanning job failed" + FAILED=true + fi + if [ "x${{ needs.dependency-scan.result }}" = "xfailure" ]; then + echo "❌ Dependency Scan job failed" + FAILED=true + fi + if [ "x${{ needs.sast-scan.result }}" = "xfailure" ]; then + echo "❌ SAST Scan job failed" + FAILED=true + fi + if [ "$FAILED" = "true" ]; then + echo "═══════════════════════════════════════════════════════════════" + echo "❌ WORKFLOW FAILED - One or more jobs failed" + echo "═══════════════════════════════════════════════════════════════" + echo "" + echo "Check the job results above to see which jobs failed." + exit 1 + else + echo "═══════════════════════════════════════════════════════════════" + echo "✅ WORKFLOW SUCCESS - All jobs passed" + echo "═══════════════════════════════════════════════════════════════" + fi diff --git a/pytest.ini b/pytest.ini index 741ee44..74ea07d 100644 --- a/pytest.ini +++ b/pytest.ini @@ -26,3 +26,4 @@ markers = # from loading during tests (avoids illegal instruction errors on some CPUs) + diff --git a/tests/README.md b/tests/README.md index f81e9f8..be8a184 100644 --- a/tests/README.md +++ b/tests/README.md @@ -110,3 +110,4 @@ In CI (GitHub Actions/Gitea Actions), test results appear in: - Verify all dependencies are installed: `./venv/bin/pip install -r requirements.txt` + diff --git a/viewer-frontend/scripts/install-dependencies.sh b/viewer-frontend/scripts/install-dependencies.sh index f744ffd..4165168 100755 --- a/viewer-frontend/scripts/install-dependencies.sh +++ b/viewer-frontend/scripts/install-dependencies.sh @@ -206,3 +206,4 @@ echo "" + diff --git a/viewer-frontend/scripts/test-prisma-query.ts b/viewer-frontend/scripts/test-prisma-query.ts index ade00eb..13a11f1 100644 --- a/viewer-frontend/scripts/test-prisma-query.ts +++ b/viewer-frontend/scripts/test-prisma-query.ts @@ -147,3 +147,4 @@ testQueries() + diff --git a/viewer-frontend/scripts/with-sharp-libpath.sh b/viewer-frontend/scripts/with-sharp-libpath.sh index e7a7cd0..98e6346 100755 --- a/viewer-frontend/scripts/with-sharp-libpath.sh +++ b/viewer-frontend/scripts/with-sharp-libpath.sh @@ -17,3 +17,4 @@ fi +