chore(deps): surface the OSV total + retry 3 days after a failed run
Notifications now include the OSV summary. A failed run restores the lockfile and schedules a retry in ~3 days instead of consuming the full 20-day interval.
This commit is contained in:
parent
f88dfe79ab
commit
f56a8b28e5
2 changed files with 17 additions and 6 deletions
|
|
@ -2325,6 +2325,9 @@ Rules:
|
||||||
`book_new`/`aoa_to_sheet`/`writeFile`, no `read`, so the parse CVEs don't
|
`book_new`/`aoa_to_sheet`/`writeFile`, no `read`, so the parse CVEs don't
|
||||||
apply). `zapstore.yaml` license was `custom` (the listing showed "custom");
|
apply). `zapstore.yaml` license was `custom` (the listing showed "custom");
|
||||||
now **`AGPL-3.0-only`** (re-published in 1.6.8, verified on the 32267 tag).
|
now **`AGPL-3.0-only`** (re-published in 1.6.8, verified on the 32267 tag).
|
||||||
|
On **failure** the job restores the lockfile and schedules a retry in **~3 days**
|
||||||
|
(a failed run no longer burns the whole 20-day window); every notification now
|
||||||
|
includes the **OSV total** ("N packages affected by M known vulnerabilities").
|
||||||
|
|
||||||
### Community relay — self-hosted Newlay (2026-10-12)
|
### Community relay — self-hosted Newlay (2026-10-12)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -76,8 +76,14 @@ fi
|
||||||
fi
|
fi
|
||||||
} | tee "$REPORT"
|
} | tee "$REPORT"
|
||||||
|
|
||||||
|
# The OSV summary line (e.g. "Total 27 packages affected by 59 known ...") is the
|
||||||
|
# number worth surfacing in notifications; npm audit's counts are narrower.
|
||||||
|
OSV_SUMMARY="$(grep -E '^Total [0-9]+ packages affected' "$REPORT" | tail -1)"
|
||||||
|
[ -n "$OSV_SUMMARY" ] || OSV_SUMMARY="OSV scan: no summary (scanner missing?)"
|
||||||
|
|
||||||
if [ "$SCAN_ONLY" -eq 1 ]; then
|
if [ "$SCAN_ONLY" -eq 1 ]; then
|
||||||
log "scan-only; report: $REPORT"
|
log "scan-only; report: $REPORT"
|
||||||
|
echo "$OSV_SUMMARY"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -113,18 +119,18 @@ if npm test >"$STATE_DIR/test.log" 2>&1 && node scripts/smoke-test.mjs >"$STATE_
|
||||||
# Bound the push: the git remote signs via the remote signer and can stall.
|
# Bound the push: the git remote signs via the remote signer and can stall.
|
||||||
if timeout 180 git push origin main >"$STATE_DIR/push.log" 2>&1; then
|
if timeout 180 git push origin main >"$STATE_DIR/push.log" 2>&1; then
|
||||||
log "pushed dependency update"
|
log "pushed dependency update"
|
||||||
notify "Dependency update applied, tests pass, pushed."
|
notify "Dependency update applied, tests pass, pushed. ${OSV_SUMMARY}"
|
||||||
else
|
else
|
||||||
log "push failed/skipped (see $STATE_DIR/push.log)"
|
log "push failed/skipped (see $STATE_DIR/push.log)"
|
||||||
notify "Dependency update committed locally but the push failed."
|
notify "Dependency update committed locally but the push failed. ${OSV_SUMMARY}"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
log "committed locally (--no-push)"
|
log "committed locally (--no-push)"
|
||||||
notify "Dependency update applied and committed locally."
|
notify "Dependency update applied and committed locally. ${OSV_SUMMARY}"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
log "no dependency changes to commit"
|
log "no dependency changes to commit"
|
||||||
notify "Dependency scan complete: nothing to update."
|
notify "Dependency scan complete: nothing to update. ${OSV_SUMMARY}"
|
||||||
fi
|
fi
|
||||||
finish_timer
|
finish_timer
|
||||||
log "done"
|
log "done"
|
||||||
|
|
@ -133,7 +139,9 @@ else
|
||||||
cp "$STATE_DIR/package.json.bak" package.json 2>/dev/null || true
|
cp "$STATE_DIR/package.json.bak" package.json 2>/dev/null || true
|
||||||
cp "$STATE_DIR/package-lock.json.bak" package-lock.json 2>/dev/null || true
|
cp "$STATE_DIR/package-lock.json.bak" package-lock.json 2>/dev/null || true
|
||||||
npm i --silent >/dev/null 2>&1 || true
|
npm i --silent >/dev/null 2>&1 || true
|
||||||
notify "Dependency update REVERTED — tests failed (see $STATE_DIR/test.log)."
|
# A failed run must NOT consume the whole interval: retry in ~3 days instead.
|
||||||
finish_timer
|
RETRY_DAYS=3; [ "$INTERVAL_DAYS" -gt 4 ] || RETRY_DAYS=1
|
||||||
|
echo $(( $(date +%s) - (INTERVAL_DAYS - RETRY_DAYS) * 86400 )) > "$LAST"
|
||||||
|
notify "Dependency update REVERTED — tests failed (see $STATE_DIR/test.log). ${OSV_SUMMARY}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue