Repository navigation
Conversation
cargo-audit ran inside the portable lane against the whole lockfile, so an advisory published against an existing crate failed every open pull request until main was fixed, and nothing tracked the repair. A separate audit job now scans the tested merge and fails only on findings its base did not have; an unchanged lockfile gets an informational scan. Main still needs a clean full scan before build and release publish anything. A daily workflow keeps one bot-authored tracking issue: it reopens the same issue when findings return, comments only when they change, and closes it after a clean scan, so subscribers hear about each change once.
A comment whose follow-up edit failed was posted again on a closed tracking issue, because the retry skipped the comment lookup there to avoid matching comments from before the clean scan. Only bot comments newer than the issue's close now count, which covers both cases with one rule. The trusted-main test also checks the job's issue scope.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
cargo-audit ran inside the portable lane against the whole lockfile, so an advisory published against a crate main already used failed every open pull request until main was fixed, and nothing tracked the repair. A separate audit job now scans the tested merge and fails only on findings its base did not have; an unchanged lockfile gets an informational scan. Main still needs a clean full audit before build and release publish anything.
A daily workflow keeps one bot-authored tracking issue. It reopens the same issue when findings return, comments only when they change (and not twice after a failed update), and closes it after a clean scan, so subscribers hear about each change once. Only that trusted main job has issues: write.
Verified: scripts/test.sh portable and rust lanes pass locally (one CLI server startup test timed out under load and passes on rerun). tests/test_audit.py drives the tracking step under bash -euo pipefail against real jq and a gh stand-in that refuses --slurp with --jq the way gh does. scripts/audit.py was also run against the real cargo-audit 0.22.2 in diff mode, and its JSON schema was checked against a real report carrying RUSTSEC-2026-0385. actionlint is clean on both workflows. The browser lane timed out locally under heavy load and is left to CI.
Left out: the stale_base classifier in the codetrial-verify skill now only applies to runs from before this change; removing it belongs in a separate cleanup.
Summary by cubic
PR security checks now fail only when a tested merge adds vulnerable dependencies; advisories already present on its base no longer block unrelated pull requests. Main still requires a clean full audit before builds and releases can publish.
Written for commit bc54c23. Summary will update on new commits.