Supply chain
Procedure for keeping playwright-rust's cargo audit / cargo deny / cargo vet checks green when bumping the project's own version, when external crates change, and when a security advisory drops.From its SKILL.md
npx -y skills add padamson/playwright-rust --skill supply-chainAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
2.8 KB, as published. Nobody here has run it
Supply Chain & Release Hygiene
The project uses three complementary supply-chain tools:
cargo audit— vulnerability advisories from RustSeccargo deny— license, duplicate, and source policycargo vet— explicit audit chain for every dependency
All three run in CI on every push and every dependabot PR. Treat their
output as load-bearing — a real cargo audit failure is a security
advisory and warrants a patch release; a cargo vet failure usually
means an audit chain needs re-stitching after a version change.
When bumping our own version
supply-chain/imports.lock is generated, never hand-edited. The
header comment says # cargo-vet imports lock. The
[[unpublished.playwright-rs]] entries handle the chicken-and-egg
window between bumping Cargo.toml and publishing to crates.io: an
entry like version = "0.12.1" audited_as = "0.12.0" tells vet "treat
the in-tree version as audited at the prior released version's level."
Proper sequence when bumping Cargo.toml:
- Bump
version = "X.Y.Z"in workspaceCargo.toml - Run
cargo vet regenerate unpublished— automatically removes entries for now-published versions and adds a new[[unpublished]]entry chained to the prior version - If
cargo vetstill fails (the chain may break when prior versions get published and lose their[[unpublished]]placeholder), bump the[[exemptions.playwright-rs]] version = "..."line insupply-chain/config.tomlto the latest published version. The exemption is the anchor that the unpublished entries chain to. - Verify
cargo vet,cargo audit,cargo deny checkall pass - Commit
Cargo.toml,Cargo.lock,supply-chain/imports.lock, and anysupply-chain/config.tomlexemption bump together
When external dependencies update (dependabot PRs)
Dependabot PRs that bump external crates often surface "missing
[safe-to-deploy]" or "missing [safe-to-run]" failures from
cargo vet. Resolve by either:
- Running
cargo vet diff <crate> <old> <new>andcargo vet certifyto record an explicit audit (preferred for small, reviewable diffs), or - Adding an exemption in
supply-chain/config.toml(acceptable for well-known crates with negligible delta — match the existing exemption style).
Security advisories (cargo audit failures)
A new RUSTSEC-YYYY-NNNN advisory against a transitive dependency
warrants a patch release even if functional behavior is unchanged. The
typical fix is cargo update -p <vulnerable-crate> to a patched
version, plus a CHANGELOG ### Security entry referencing the
advisory.