Repository navigation
ci: enforce devDependency npm audit gate, drop continue-on-error - #531
Conversation
Ratchets the warning-only devDependency audit step added in hivecommons#519 (closing the gate proposed in hivecommons#515) to a hard gate: the "one release" condition in the ratchet comment never fires because this repo cuts no tags/releases (continuous Netlify deploy), so the soft gate could never go red. Verified safe at main@6a4fa59: npm-audit-gate.ts passes at --level=high on the full tree, the latest npm-audit workflow run is green, and .github/npm-audit-exceptions.json is empty. Hive-Run: hivecommons#530 Hive-Plan: Enforce the devDependency npm audit gate Hive-Spec: npm-audit-gate#ratchet-515-519 Signed-off-by: onkar717 <shelkeonka@gmail.com>
👷 Deploy request for hivecommons-docs pending review.Visit the deploys page to approve it
|
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Decision needed: @clubanderson should confirm that the devDependency npm audit step in .github/workflows/npm-audit.yml may become a hard gate now (dropping continue-on-error), as #530 recommends.
The diff does what #530 asks and nothing else: it deletes continue-on-error: true from the Audit development dependencies step and the stale "Warning-only for one release" sentence in .github/workflows/npm-audit.yml. No permissions, actions, secrets or step commands change; permissions: contents: read and the SHA-pinned actions are untouched.
Verified the gate is safe to enforce at this head's base: on main I ran npm ci && npm audit --json (full tree, including dev) through npx tsx scripts/npm-audit-gate.ts … --level=high and it exits 0 (✅ npm audit gate passed at level "high"), and .github/npm-audit-exceptions.json is [], so no PR goes red the moment this lands. #530 already stated the same evidence.
Routing to a human because this is a CI workflow edit from an external fork, which .github/CODEOWNERS reserves for @clubanderson / @KPRoche. The question is only whether to flip the gate to enforcing; the code itself looks correct to me.
— hive: agent=reviewer-2 backend=copilot model=claude-fable-5.1 copilot=1.0.88
There was a problem hiding this comment.
Decision needed: @clubanderson should decide whether the devDependency npm audit step in .github/workflows/npm-audit.yml becomes blocking now, as #530 proposes, given this repo never cuts the "one release" the ratchet comment waited for.
Decision needed: @clubanderson should decide whether the devDependency npm audit step in .github/workflows/npm-audit.yml becomes blocking now, as #530 proposes, given this repo never cuts the "one release" the ratchet comment waited for.
The change itself is exactly what the body says and nothing more: .github/workflows/npm-audit.yml:56 drops continue-on-error: true from the Audit development dependencies step and :52-53 retires the ratchet sentence. No permissions, triggers, actions or pins change (permissions: contents: read at :15-16 is untouched).
Facts for the decision, verified on main@6a4fa59:
npm audit --jsonover the full tree (devDependencies included) piped intonpx tsx scripts/npm-audit-gate.ts --level=highexits 0 — "npm audit gate passed at level high" — so enforcing does not turnmainred today..github/npm-audit-exceptions.jsonis currently[].- This PR's own run of the
Audit production dependenciesjob (which contains the now-enforced step) is green. - Author is an external contributor on a fork;
.github/workflows/is a CODEOWNERS-protected path (.github/CODEOWNERS:@clubanderson @KPRoche), so a code-owner review is required regardless.
I am routing rather than confirming because this makes a CI gate blocking for every future PR — a policy call for the owners, not a code defect. I found no problem with the diff.
— hive: agent=reviewer backend=copilot model=claude-fable-5.1 copilot=1.0.88
9908649
|
|
Needs a decision, not a merge:
Head: verdict requires_human @9908649, 4/4 checks green, DCO yes, sentinel alert, soak 16m0s of 30m0s. How to release it:
Clear the cause and the hive re-evaluates on its next pass; the stage moves to |
📌 Fixes
Closes #530
📝 Summary of Changes
#519 (closing the gate proposed in #515) added the devDependency
npm auditstep to.github/workflows/npm-audit.ymlas warning-only:continue-on-error: trueon theAudit development dependenciesstep, with a comment promising to drop it "for one release (ratchet, #515)". This repo cuts no tags or releases (continuous Netlify deploy), so that condition never fires on its own, leaving a required-style security gate that can never go red.This PR removes
continue-on-error: trueand the now-stale ratchet comment, per the exact replacement given in #530.Changes Made
continue-on-error: truefrom theAudit development dependenciesstep in.github/workflows/npm-audit.ymlChecklist
npx tsx scripts/npm-audit-gate.tspasses at--level=highon the full tree at main@6a4fa59, per evidence cited in [quality] Enforce the devDependency npm audit gate: drop continue-on-error from npm-audit.yml (ratchet from #515/#519) #530)Security Considerations
If this PR modifies any security-sensitive files, confirm:
continue-on-errorescape hatch on a security gate; no new permissions, secrets, or external actions introduced..github/npm-audit-exceptions.jsonis currently empty, so no PR turns red on landing; future dev-tree advisories are acknowledged there with an expiry.— hive: backend=claude model=claude-sonnet-5-5 effort=medium