Skip to content

Commit

Permalink
chore(deps): Add deny.yaml and a cargo deny CI job to check dependenc…
Browse files Browse the repository at this point in the history
…ies for vulnerabilities

Signed-off-by: Joshua Potts <8704475+iamjpotts@users.noreply.github.com>
  • Loading branch information
iamjpotts committed Jan 23, 2024
1 parent 5890afe commit c0f6b85
Show file tree
Hide file tree
Showing 6 changed files with 116 additions and 50 deletions.
7 changes: 7 additions & 0 deletions .github/workflows/sqlx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ on:
- '*-dev'

jobs:
deny:
name: Cargo Deny
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: EmbarkStudios/cargo-deny-action@v1

format:
name: Format
runs-on: ubuntu-20.04
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,6 @@ target/
# Integration testing extension library for SQLite.
ipaddr.dylib
ipaddr.so

# Temporary files from running the tests locally like they would be run from CI
.sqlx
82 changes: 35 additions & 47 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ sqlx-sqlite = { workspace = true, optional = true }
anyhow = "1.0.52"
time_ = { version = "0.3.2", package = "time" }
futures = "0.3.19"
env_logger = "0.9.0"
env_logger = "0.11"
async-std = { version = "1.12.0", features = ["attributes"] }
tokio = { version = "1.15.0", features = ["full"] }
dotenvy = "0.15.0"
Expand All @@ -175,7 +175,7 @@ rand = "0.8.4"
rand_xoshiro = "0.6.0"
hex = "0.4.3"
tempfile = "3.9.0"
criterion = {version = "0.4", features = ["async_tokio"]}
criterion = { version = "0.5", features = ["async_tokio"] }

# Needed to test SQLCipher
libsqlite3-sys = { version = "0.27", features = ["bundled-sqlcipher"] }
Expand Down
67 changes: 67 additions & 0 deletions deny.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
[advisories]
ignore = [
# No upgrade available for rsa 0.9.4, a direct dependency of sqlx-mysql
"RUSTSEC-2023-0071",
]
notice = "deny"
unmaintained = "deny"
vulnerability = "deny"
yanked = "deny"

[licenses]
allow = [
"Apache-2.0",
"BSD-2-Clause",
"BSD-3-Clause",
"ISC",
"MIT",
"MPL-2.0",
"OpenSSL",
"Unicode-DFS-2016",
"Zlib",
]
default = "deny"
confidence-threshold = 0.9
unlicensed = "deny"

[[licenses.clarify]]
name = "ring"
expression = "MIT AND ISC AND OpenSSL"
license-files = [
{ path = "LICENSE", hash = 0xbd0eed23 }
]

[bans]
allow = []
deny = []
multiple-versions = "deny"
skip = [
# async-std 1.12 uses two versions - this older version directly, and a newer verison transitively.
{ name = "async-channel", version = "=1.9.0" },
# native-tls 0.2.11 has this older version as a transitive dependency
{ name = "spin", version = "=0.5.2" },
# criterion 0.5.1 uses this older version of itertools
{ name = "itertools", version = "=0.10.5" },
# syn 2.0 has not been adopted by many crates using syn 1.x due to difficult breaking changes
{ name = "syn", version = "<2" },
]
skip-tree = [
# async-std 1.12 uses two versions - this older version directly, and a newer verison transitively.
{ name = "async-io", version = "=1.13.0" },
]

# Warn, rather than deny, due to sqlx crates not referencing each other by a specific version
wildcards = "warn"

[sources]
allow-git = []
allow-registry = [
"https://github.com/rust-lang/crates.io-index"
]
unknown-git = "deny"
unknown-registry = "deny"

[sources.allow-org]
bitbucket = []
github = []
gitlab = []
3 changes: 2 additions & 1 deletion sqlx-test/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@
name = "sqlx-test"
version = "0.1.0"
edition = "2021"
license = "MIT OR Apache-2.0"
publish = false

[dependencies]
sqlx = { default-features = false, path = ".." }
env_logger = "0.9.0"
env_logger = "0.11"
dotenvy = "0.15.0"
anyhow = "1.0.26"
async-std = { version = "1.8.0", features = [ "attributes" ] }
Expand Down

0 comments on commit c0f6b85

Please sign in to comment.