Skip to content

chore(deps): Harden supply-chain checks via cargo-deny and dependabot grouping#135

Merged
mhiro2 merged 3 commits into
mainfrom
chore/deps-supply-chain
May 3, 2026
Merged

chore(deps): Harden supply-chain checks via cargo-deny and dependabot grouping#135
mhiro2 merged 3 commits into
mainfrom
chore/deps-supply-chain

Conversation

@mhiro2

@mhiro2 mhiro2 commented May 3, 2026

Copy link
Copy Markdown
Owner

Summary

  • Enable RUSTSEC advisory, yanked-crate, duplicate-version, and unknown-registry checks via cargo-deny so supply-chain regressions fail CI instead of slipping in transitively.
  • Group dependabot PRs by ecosystem (serde / tracing / resvg for cargo, oxc for npm) to reduce review noise from weekly bumps.
  • Make install.sh accept the * (sha256sum binary mode) and ./ (path-prefixed) filename styles that GoReleaser may emit, so checksum verification no longer silently misses on release artifacts.

Changes

  • e2eb551 : chore(ci): group cargo and npm dependabot PRs by ecosystem
    • Bundle related crate updates (serde / tracing / resvg) and frontend tooling (oxc / oxlint / oxfmt) into single dependabot PRs.
  • 984e6fc : chore(deps): enable cargo-deny advisories/bans/sources checks
    • Expand deny.toml with [advisories], [bans], [sources]. Yanked crates are denied; three unfixable advisories (RUSTSEC-2023-0071 rsa Marvin Attack, RUSTSEC-2025-0134 rustls-pemfile unmaintained, RUSTSEC-2025-0111 tokio-tar) are ignored with documented rationale and pointers for follow-up.
    • Bump rustls-webpki to 0.103.13 via cargo update -p rustls-webpki, clearing four active RUSTSEC entries; wildcards stay at warn until workspace crates adopt publish = false.
    • Rename the license-check make target to deny-check and run cargo deny check all from CI and lefthook so every category (advisories / bans / licenses / sources) is gated in one pass.
  • 710e3b0 : fix(action): tolerate * and ./ prefixes when matching checksums
    • Strip leading * and ./ from the second field of checksums.txt lines before comparing against the archive name, so binary-mode and path-prefixed entries verify correctly instead of dropping through to the "Archive not found" error.

mhiro2 added 3 commits May 3, 2026 09:44
Bundle related crate updates (serde, tracing, resvg) and frontend
tooling (oxc) into single PRs to cut review noise from weekly
dependabot runs.
Expand deny.toml beyond licenses so RUSTSEC vulnerabilities, yanked
crates, and unknown registries fail CI. Bump rustls-webpki via
`cargo update` to clear four advisories; document the remaining
unfixable ones (rsa Marvin Attack, rustls-pemfile unmaintained,
tokio-tar PAX) in the ignore list with rationale. Wildcards stay at
warn until workspace crates adopt `publish = false`.

Rename the `license-check` make target to `deny-check` and run
`cargo deny check all` from CI and lefthook to cover every category
in one pass.
GoReleaser-published checksums.txt may list filenames with a leading
'*' (sha256sum binary mode) or './' (path-prefixed) depending on how
the file was generated. The previous '$2 == a' comparison only
matched bare filenames and would silently produce zero hits for those
formats, falling through to the "Archive not found in checksums.txt"
error. Strip both prefixes from the second field before comparing.
@mhiro2 mhiro2 self-assigned this May 3, 2026
@mhiro2 mhiro2 added the enhancement New feature or request label May 3, 2026
@github-actions

github-actions Bot commented May 3, 2026

Copy link
Copy Markdown

Code Metrics Report

main (e4c1b93) #135 (3a0a742) +/-
Coverage 94.9% 94.9% 0.0%
Test Execution Time 1m33s 1m55s +22s
Details
  |                     | main (e4c1b93) | #135 (3a0a742) | +/-  |
  |---------------------|----------------|----------------|------|
  | Coverage            |          94.9% |          94.9% | 0.0% |
  |   Files             |             81 |             81 |    0 |
  |   Lines             |          39248 |          39248 |    0 |
  |   Covered           |          37253 |          37253 |    0 |
- | Test Execution Time |          1m33s |          1m55s | +22s |

Reported by octocov

@github-actions

github-actions Bot commented May 3, 2026

Copy link
Copy Markdown

Schema review

Tip

✅ No risk findings — schema changes look safe to merge.

@mhiro2
mhiro2 merged commit d4508fa into main May 3, 2026
6 checks passed
@mhiro2
mhiro2 deleted the chore/deps-supply-chain branch May 3, 2026 00:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant