Skip to content

Check dependency licenses with cargo-deny in CI - #15

Merged
JSGette merged 1 commit into
mainfrom
jsgette/oss-cargo-deny-licenses
Nov 3, 2026
Merged

JSGette merged 1 commit into
mainfrom
jsgette/oss-cargo-deny-licenses

Conversation

@JSGette

@JSGette JSGette commented Nov 3, 2026 •

Copy link
Copy Markdown
Owner

What does this PR do?

  • Adds rust/conduit/deny.toml with a permissive allow-list: Apache-2.0, Apache-2.0 WITH LLVM-exception, BSD-3-Clause, MIT, Unicode-3.0. A crate offering several licenses passes when one of them is allowed.
  • Adds a licenses workflow that installs cargo-deny@0.19.5 with cargo install --locked (no third-party action) and runs cargo deny check licenses.
  • Declares license = "Apache-2.0" in Cargo.toml so the crate itself is not reported as unlicensed.

Checks: cargo deny check licenses passes locally, with and without --all-features; removing MIT from the allow-list rejects 36 crates; actionlint is clean; bazel test //... passes.

foldhash (Zlib) appears in Cargo.lock through a feature-gated hashbrown@0.15.5 edge that Cargo and Bazel do not activate, so Zlib is intentionally not allowed. This PR's own licenses run confirms that on the CI runner.

Part of preparing conduit for transfer to the DataDog organization as an open source repository.

Checklist

  • Tests added/updated
  • Documentation updated
  • No secrets or internal references included

Datadog's open source review requires an automated license policy. The
allow-list holds the permissive licenses the dependency graph uses
today; a crate offering several licenses passes when one is allowed.

cargo-deny is installed from crates.io at a fixed version instead of
through a third-party action, which the DataDog organization's Actions
policy may not allow. Cargo.toml now declares the crate's own license
so it is not reported as unlicensed.
@JSGette
JSGette merged commit ea3935d into main Nov 3, 2026
5 checks passed
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