Skip to content

ci(rampart): honor RAMPART_ENFORCE=warn in scanner steps - #24

Merged
acamarata merged 2 commits into
mainfrom
fix/rampart-warn-mode
Jul 3, 2026
Merged

acamarata merged 2 commits into
mainfrom
fix/rampart-warn-mode

Conversation

@acamarata

Copy link
Copy Markdown
Contributor

DO NOT MERGE — this PR is for review only.

Replicates the pattern from ummeco/ummat PR #88 (https://github.com/ummeco/ummat/pull/88) into chatislam.

Problem

Scanner steps in .github/workflows/rampart-pr.yml fail the GitHub Actions job via the tool's own process exit code. This bypasses the intended RAMPART_ENFORCE=warn behavior, where .github/scripts/rampart-gate.js (and the summary job's severity aggregation) is supposed to be the sole decider of pass/fail based on finding severity.

Fix

Added continue-on-error: ${{ env.RAMPART_ENFORCE == 'warn' }} to scanner steps that can fail the job via their own exit code, so that when RAMPART_ENFORCE=warn, the step is allowed to fail without failing the job — letting rampart-gate.js / the summary job decide the outcome instead of the raw tool exit code.

Changed in chatislam

  • deps-osv job: added continue-on-error to the google/osv-scanner-action step
  • sast job: named the semgrep step Scan (mirroring ummat's pattern) and added continue-on-error to it

Not changed (by design)

  • secrets job (gitleaks) — exempt, always-blocking, never gets continue-on-error
  • deps-pnpm job — pnpm audit --prod --json > pnpm-audit.json || true already absorbs the exit code via || true, so it can't fail the job; no change needed

Not applicable to chatislam

chatislam's workflow has no deps-go/govulncheck job, no containers/trivy job, and no schema-audit/hasura job — those parts of ummat PR #88 don't apply here and were skipped.

@vercel

vercel Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
ummat-chatislam Ignored Ignored Preview Jul 3, 2026 9:14pm

Request Review

@acamarata

Copy link
Copy Markdown
Contributor Author

Action ref audit (follow-up from ummat investigation): checked for unresolvable uses: refs like the bare google/osv-scanner-action@v2 and un-prefixed aquasecurity/trivy-action@0.36.0 found in ummat/flock. chatislam already pins google/osv-scanner-action/osv-scanner-action@v2.3.8 (resolvable tag) and has no trivy/containers job. No pinning changes needed here.

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

🟢 Rampart Security Gate — CLEAN

Tool CRITICAL HIGH MEDIUM LOW
(no findings)

Totals: 0 critical · 0 high · 0 medium · 0 low

Mode: RAMPART_ENFORCE=warn

Per §3.2/§3.3 spec, RAMPART_ENFORCE=warn means each scan job's gate
script should log and exit 0, with CRITICAL blocking enforced only at
the summary job. The sast job's rampart-gate.js step lacked
continue-on-error, so a CRITICAL finding still hard-failed the sast
job even in warn mode. Add continue-on-error to the gate steps in
deps-osv, deps-pnpm, and sast so scan jobs never block on their own;
summary.js still exits 1 on any CRITICAL finding regardless of mode.
@acamarata
acamarata merged commit 086c2e0 into main Jul 3, 2026
10 of 11 checks passed
@acamarata
acamarata deleted the fix/rampart-warn-mode branch July 3, 2026 21:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant