Skip to content

fix(ci): hypatia-scan.yml -- --exit-zero + GITHUB_TOKEN (hyperpolymath/hypatia#213)#11

Open
hyperpolymath wants to merge 1 commit into
mainfrom
fix/hypatia-213-scanner-flag
Open

fix(ci): hypatia-scan.yml -- --exit-zero + GITHUB_TOKEN (hyperpolymath/hypatia#213)#11
hyperpolymath wants to merge 1 commit into
mainfrom
fix/hypatia-213-scanner-flag

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Mirrors hyperpolymath/hypatia#228 in this consumer repo.

What was actually broken in Hypatia Security Scan

The scanner halts with System.halt(1) whenever findings exist at or above the severity threshold (lib/hypatia/cli.ex:158-160 pre-#228). Under GitHub Actions' default set -e, that exit-1 short-circuits the workflow step before jq aggregation, actions/upload-artifact, the PR comment, AND the explicit "Check for critical or high-severity issues" step.

The previous actions/upload-artifact SHA-bump sweep across the estate (41 PRs) was based on a wrong diagnosis -- the failing runs were not at action-resolve time. See hyperpolymath/hypatia#213 for the full root-cause writeup.

Changes in this PR

  • Pass GITHUB_TOKEN to the scan step env so the Dependabot rule can query alerts (and stops emitting Warning: Dependabot alerts unavailable: GITHUB_TOKEN not set).
  • Append --exit-zero to the hypatia-cli.sh scan . invocation so findings-at-severity no longer short-circuits the step. The downstream "Check for critical or high-severity issues" step (already in this workflow) remains the explicit gate.
  • Pin actions/upload-artifact to v4.6.2 (ea165f8d65b6e75b540449e92b4886f43607fa02) to match the estate-wide pin.

Notes

  • --exit-zero was added in fix(cli): add --exit-zero flag + always-emit stderr summary (closes #213) hypatia#228 and is silently ignored by pre-#228 versions of the scanner (OptionParser strict mode places unknown flags in invalid and the CLI discards that), so this PR is safe to merge in either order relative to #228.
  • This change does not affect non-CI usage of the scanner; the default exit 1 on findings is unchanged for shell / pre-commit users.

🤖 Generated with Claude Code

…rpolymath/hypatia#213)

The Hypatia Security Scan workflow exits 1 on any findings (>= medium)
because lib/hypatia/cli.ex halts with System.halt(1). Under `set -e`,
that short-circuits the step before jq/artifact-upload/PR-comment run.

Mirrors hyperpolymath/hypatia#228:
* pass GITHUB_TOKEN so the Dependabot rule stops warning
* append --exit-zero so the downstream critical/high gate stays
  the explicit gate
* bump actions/upload-artifact to v4.6.2 (ea165f8d) to match the
  estate-wide pin

See hyperpolymath/hypatia#213 for the diagnosis.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@hyperpolymath hyperpolymath enabled auto-merge (squash) May 13, 2026 01:04
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