Skip to content

fix(supply-chain): green up cargo-deny — unbreak advisories gate + seed bans/licenses - #42

Merged
hellno merged 2 commits into
mainfrom
claude/fix-cargo-deny-gtk-advisories
Jun 13, 2026
Merged

fix(supply-chain): green up cargo-deny — unbreak advisories gate + seed bans/licenses#42
hellno merged 2 commits into
mainfrom
claude/fix-cargo-deny-gtk-advisories

Conversation

@hellno

@hellno hellno commented Jun 13, 2026

Copy link
Copy Markdown
Owner

Gets all of CI green and makes both cargo-deny jobs honest.

1. Unbreak the blocking advisories gate (the regression from #41)

#41 made cargo-deny-advisories blocking, but it went red on main immediately: the cargo-deny-action evaluates with all features, pulling the optional tray GTK3 stack and flagging 7 gtk-rs GTK3 bindings advisories my default-feature local run never saw.

  • [graph] all-features = true — local and CI now analyze the same surface; this class of blind spot can't recur.
  • Ignore the 7 GTK3 advisories (RUSTSEC-2024-0412/0413/0415/0416/0418/0419/0420) — optional tray feature only; gtk3-rs is EOL with no GTK4 tray path yet.

2. Seed the hygiene gate so cargo-deny-supply-chain passes

Licenses

  • Allow 5 permissive licenses surfaced by the full tree: 0BSD, BSL-1.0, NCSA, CDLA-Permissive-2.0, bzip2-1.0.6.
  • GPL-3.0-or-later scoped via exceptions to Zed's zlog/ztracing/ztracing_macro (pulled via gpui; compatible with our stricter AGPL). Copyleft stays per-crate, never tree-wide.
  • Clarify 11 git crates that omit a license field, to the license their repo actually grants (verified by reading the sources): helios-* = MIT (a16z/helios root LICENSE); railgun/common/crypto/userop-kit = MIT (ethereum/kohaku package.json).

Bans

  • wildcards: denywarn + allow-wildcard-paths. Intra-workspace path deps and the unpublished gpui git deps have no version to pin; Cargo.lock still pins every git dep to an exact rev.

Verified

Locally with all-features (matching CI): advisories ok, bans ok, licenses ok, sources ok.

Note / follow-up

cargo-deny-supply-chain keeps continue-on-error: true in this PR. Once CI confirms it green here, the natural next step (separate) is to drop continue-on-error so the hygiene gate also blocks — completing #40. The Helios bump to remove the webpki/hickory/rustls-pemfile ignores at the source remains the other #40 item.

hellno added 2 commits June 13, 2026 13:08
…an + 7 tray-only GTK3 ignores

cargo-deny-action evaluates with ALL features, so it pulls the optional `tray` GTK3 stack
(libappindicator -> gtk3) and flagged 7 'gtk-rs GTK3 bindings - no longer maintained' advisories
(RUSTSEC-2024-0412/0413/0415/0416/0418/0419/0420). Local 'cargo deny check' used default features
and missed them, so the gate passed locally but failed on main right after #41 merged.

- [graph] all-features = true: local + CI now analyze the same surface (no more blind spots).
- ignore the 7 GTK3 advisories: optional `tray` feature only; gtk3-rs is EOL with no GTK4 tray
  path yet. Deletable at the source if we drop the tray feature (open question, tracked in #40).

Verified: 'cargo deny check advisories' green locally with all-features.

https://claude.ai/code/session_01JewEHPGHCWy5DWnmLD9DGy
…sses

Make 'cargo deny check bans licenses' green (the last red, warn-only job):

licenses:
- allow 5 permissive licenses surfaced by the full tree: 0BSD, BSL-1.0, NCSA,
  CDLA-Permissive-2.0, bzip2-1.0.6.
- exceptions: GPL-3.0-or-later scoped to Zed's zlog/ztracing/ztracing_macro (pulled via
  gpui; compatible with our stricter AGPL-3.0). Copyleft stays per-crate, never tree-wide.
- clarify 11 git crates that omit a license field, to the license their repo actually grants:
  helios-* = MIT (a16z/helios root LICENSE); railgun/common/crypto/userop-kit = MIT
  (ethereum/kohaku package.json). Verified by reading the sources.

bans:
- wildcards deny -> warn + allow-wildcard-paths: intra-workspace path deps and the UNPUBLISHED
  gpui git deps have no version to pin; Cargo.lock still pins every git dep to an exact rev.

Verified locally with all-features (matching CI): advisories ok, bans ok, licenses ok, sources ok.
Tracked in #40.

https://claude.ai/code/session_01JewEHPGHCWy5DWnmLD9DGy
@hellno hellno changed the title fix(supply-chain): unbreak blocking advisories gate (tray-only GTK3 advisories) fix(supply-chain): green up cargo-deny — unbreak advisories gate + seed bans/licenses Jun 13, 2026
@hellno
hellno merged commit 0365d7b into main Jun 13, 2026
5 checks passed
@hellno
hellno deleted the claude/fix-cargo-deny-gtk-advisories branch June 13, 2026 11:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant