Skip to content

Commit

Permalink
add cargo deny check to CI
Browse files Browse the repository at this point in the history
  • Loading branch information
TheButlah committed Oct 10, 2024
1 parent 5c161c9 commit 316e1b9
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 0 deletions.
18 changes: 18 additions & 0 deletions .github/workflows/licensing.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Rust CI
on:
pull_request:
workflow_dispatch:
push:
branches:
- main
- prod
tags:
- '**'

cargo-deny:
name: Check licensing
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # pin@v3
- uses: EmbarkStudios/cargo-deny-action@8371184bd11e21dcf8ac82ebf8c9c9f74ebf7268 # [email protected]

59 changes: 59 additions & 0 deletions deny.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
[graph]
# Cargo deny will check dependencies via `--all-features`
all-features = true

[advisories]
version = 2
ignore = [
]

[sources]
unknown-registry = "deny"

[licenses]
version = 2
# We want really high confidence when inferring licenses from text
confidence-threshold = 1.0

# List of explicitly allowed licenses
# See https://spdx.org/licenses/ for list of possible licenses
allow = [
"0BSD",
"Apache-2.0 WITH LLVM-exception",
"Apache-2.0",
"BSD-2-Clause",
"BSD-2-Clause-Patent",
"BSD-3-Clause",
"BSL-1.0",
"CC0-1.0",
"ISC",
"LicenseRef-ftdi-proprietary",
"LicenseRef-ring", # See https://github.com/briansmith/ring/blob/95948b3977013aed16db92ae32e6b8384496a740/deny.toml#L12
"LicenseRef-wc-proprietary",
"MIT",
"MPL-2.0", # Although this is copyleft, it is scoped to modifying the original files
"Unicode-DFS-2016",
"Unlicense",
"Zlib",
]

# See https://github.com/briansmith/ring/blob/95948b3977013aed16db92ae32e6b8384496a740/deny.toml#L12
[[licenses.clarify]]
name = "ring"
expression = "LicenseRef-ring"
license-files = [
{ path = "LICENSE", hash = 0xbd0eed23 },
]

[[licenses.clarify]]
# @thebutlah reviewed the license code. It doesn't impose any copyleft
# restrictions on us, and doesn't seem to impose any restrictions on
# distribution. As long as we don't put any other copyleft code in
# orb-software, we won't run afoul of any license restrictions AFAICT. We
# should seek to reimplement pyftdi in rust using nusb if we can, though.
# Because its not good to have these proprietary libs in here.
name = "libftd2xx-ffi"
expression = "LicenseRef-ftdi-proprietary"
license-files = [
{ path = "LICENSE", hash = 0x0d4f9606 }
]

0 comments on commit 316e1b9

Please sign in to comment.