diff --git a/.github/workflows/security-audit.yml b/.github/workflows/security-audit.yml index 8d9f4cb0..d5cc4e27 100644 --- a/.github/workflows/security-audit.yml +++ b/.github/workflows/security-audit.yml @@ -53,7 +53,18 @@ jobs: run: | set +e pnpm audit --audit-level=high | tee audit-report.txt - echo "exit_code=${PIPESTATUS[0]}" >> "$GITHUB_OUTPUT" + code="${PIPESTATUS[0]}" + # npm has retired the legacy audit endpoint that `pnpm audit` calls, so + # it now exits non-zero with a 410 / ERR_PNPM_AUDIT_BAD_RESPONSE. That + # is an endpoint outage, not a vulnerability — do not block on it. PR + # advisory coverage is still enforced by dependency-review-action + # (fail-on-severity: moderate). Real high/critical findings, when the + # endpoint responds, still produce a non-zero code and block. + if grep -qiE "ERR_PNPM_AUDIT_BAD_RESPONSE|being retired|responded with 410" audit-report.txt; then + echo "::warning::pnpm audit endpoint unavailable (npm retired the legacy audit endpoint) — skipping the audit gate this run; dependency-review-action still enforces advisories on PRs." + code=0 + fi + echo "exit_code=${code}" >> "$GITHUB_OUTPUT" - name: Surface report in job summary if: always() diff --git a/CHANGELOG.md b/CHANGELOG.md index bd809bc2..12a446cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ ### Tests -* **e2e:** fixme journey-60 LTI key/tool tests blocked on a backend issue ([04b424c](https://github.com/iblai/os/commit/04b424c1ef8eed91372a325e63bd768e559272da)) +- **e2e:** fixme journey-60 LTI key/tool tests blocked on a backend issue ([04b424c](https://github.com/iblai/os/commit/04b424c1ef8eed91372a325e63bd768e559272da)) ## [0.95.9](https://github.com/iblai/os/compare/v0.95.8...v0.95.9) (2026-07-14)