Skip to content

Commit

Permalink
ci/Check dependencies (#895)
Browse files Browse the repository at this point in the history
  • Loading branch information
Luni-4 authored Nov 19, 2023
1 parent 8f1526b commit 4456034
Show file tree
Hide file tree
Showing 17 changed files with 170 additions and 12 deletions.
53 changes: 53 additions & 0 deletions .github/workflows/dependencies.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: dependencies

on:
push:
branches:
- main
paths:
- '**/Cargo.lock'
- '**/Cargo.toml'
pull_request:
types: [opened, synchronize]
paths:
- '**/Cargo.lock'
- '**/Cargo.toml'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
dependencies:
runs-on: ubuntu-latest

steps:

- name: checkout
uses: actions/checkout@v4

- name: Audit Rust dependencies
uses: actions-rust-lang/audit@v1

- name: Detect multiple versions of the same crate
uses: EmbarkStudios/cargo-deny-action@v1
with:
command: check bans licenses sources

- name: Install Rust nightly
uses: dtolnay/rust-toolchain@nightly
with:
toolchain: nightly
components: rustfmt

- name: Install cargo-udeps
env:
UDEPS_LINK: https://github.com/est31/cargo-udeps/releases/download
UDEPS_VERSION: v0.1.43
run: |
curl -L "$UDEPS_LINK/$UDEPS_VERSION/cargo-udeps-$UDEPS_VERSION-x86_64-unknown-linux-gnu.tar.gz" |
tar xz -C $HOME/.cargo/bin --strip-components 2
- name: Run cargo-udeps
run: |
cargo +nightly udeps --all-targets
3 changes: 2 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
[workspace]
# Try
# require version 2 to avoid "feature" additiveness for dev-dependencies
# https://doc.rust-lang.org/cargo/reference/resolver.html#feature-resolver-version-2
resolver = "2"
Expand Down Expand Up @@ -75,7 +76,7 @@ wasm-logger = "0.2.0"
futures-intrusive = "0.5"
pollster = "0.3"
text_placeholder = { version = "0.5.0", features = ["struct_context"] }
wgpu = "0.17.1"
wgpu = "0.18.0"

#
# The following packages disable the "std" feature for no_std compatibility
Expand Down
1 change: 0 additions & 1 deletion burn-autodiff/src/ops/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,3 @@ pub(crate) mod maxmin;

pub use backward::*;
pub use base::*;
pub use int_tensor::*;
1 change: 0 additions & 1 deletion burn-core/src/module/param/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,4 @@ pub use base::*;
pub use constant::*;
pub use id::*;
pub use running::*;
pub use tensor::*;
pub use visitor::*;
1 change: 0 additions & 1 deletion burn-core/src/nn/cache/mod.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
mod autoregressive;
mod base;

pub use autoregressive::*;
pub use base::*;
3 changes: 3 additions & 0 deletions burn-dataset/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,6 @@ thiserror = {workspace = true}
rayon = {workspace = true}
rstest = {workspace = true}
fake = {workspace = true}

[package.metadata.cargo-udeps.ignore]
normal = ["strum", "strum_macros"]
1 change: 0 additions & 1 deletion burn-import/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,3 @@ protobuf-codegen = {workspace = true}

[dev-dependencies]
pretty_assertions = {workspace = true}
rstest = {workspace = true}
1 change: 1 addition & 0 deletions burn-import/onnx-tests/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
name = "onnx-tests"
version = "0.11.0"
edition = "2021"
license = "MIT OR Apache-2.0"

[dev-dependencies]
burn = { path = "../../burn" }
Expand Down
1 change: 0 additions & 1 deletion burn-tensor-testgen/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,3 @@ proc-macro = true
[dependencies]
proc-macro2 = {workspace = true}
quote = {workspace = true}
syn = {workspace = true}
1 change: 0 additions & 1 deletion burn-wgpu/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ burn-tensor = { path = "../burn-tensor", version = "0.11.0", default-features =
burn-ndarray = { path = "../burn-ndarray", version = "0.11.0" }
burn-fusion = { path = "../burn-fusion", version = "0.11.0" }
serial_test = "2.0.0"
pretty_assertions = {workspace = true}

[[bench]]
name = "matmul"
Expand Down
5 changes: 4 additions & 1 deletion burn-wgpu/src/compute/server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,10 @@ where

let mut compute = self
.encoder
.begin_compute_pass(&wgpu::ComputePassDescriptor { label: None });
.begin_compute_pass(&wgpu::ComputePassDescriptor {
label: None,
timestamp_writes: None,
});

for task in self.tasks.iter() {
compute.set_pipeline(&task.pipeline);
Expand Down
1 change: 0 additions & 1 deletion burn-wgpu/src/kernel/reduce/tune/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ mod key;
mod mean_dim;
mod sum_dim;

pub use base::*;
pub use key::*;
pub use mean_dim::*;
pub use sum_dim::*;
104 changes: 104 additions & 0 deletions deny.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# If 1 or more target triples (and optionally, target_features) are specified,
# only the specified targets will be checked when running `cargo deny check`.
# This means, if a particular package is only ever used as a target specific
# dependency, such as, for example, the `nix` crate only being used via the
# `target_family = "unix"` configuration, that only having windows targets in
# this list would mean the nix crate, as well as any of its exclusive
# dependencies not shared by any other crates, would be ignored, as the target
# list here is effectively saying which targets you are building for.
targets = [
{ triple = "x86_64-unknown-linux-gnu" },
{ triple = "aarch64-unknown-linux-gnu" },
{ triple = "x86_64-unknown-linux-musl" },
{ triple = "aarch64-apple-darwin" },
{ triple = "x86_64-apple-darwin" },
{ triple = "x86_64-pc-windows-msvc" },
]

[advisories]
# The lint level for security vulnerabilities
vulnerability = "deny"
# The lint level for unmaintained crates
unmaintained = "deny"
# The lint level for crates that have been yanked from their source registry
yanked = "deny"
# The lint level for crates with security notices.
notice = "deny"
# A list of advisory IDs to ignore. Note that ignored advisories will still
# output a note when they are encountered.
ignore = [
#"RUSTSEC-0000-0000",
]

[bans]
# Lint level for when multiple versions of the same crate are detected
multiple-versions = "warn"
# Lint level for when a crate version requirement is `*`
wildcards = "allow"
# The graph highlighting used when creating dotgraphs for crates
# with multiple versions
# * lowest-version - The path to the lowest versioned duplicate is highlighted
# * simplest-path - The path to the version with the fewest edges is highlighted
# * all - Both lowest-version and simplest-path are used
highlight = "all"
# The default lint level for `default` features for crates that are members of
# the workspace that is being checked. This can be overridden by allowing/denying
# `default` on a crate-by-crate basis if desired.
workspace-default-features = "allow"
# The default lint level for `default` features for external crates that are not
# members of the workspace. This can be overridden by allowing/denying `default`
# on a crate-by-crate basis if desired.
external-default-features = "allow"
# Certain crates/versions that will be skipped when doing duplicate detection.
skip = [
#{ name = "crate", version = "=0.1.0" },
]
# Similarly to `skip` allows you to skip certain crates during duplicate
# detection. Unlike skip, it also includes the entire tree of transitive
# dependencies starting at the specified crate, up to a certain depth, which is
# by default infinite.
skip-tree = [
#{ name = "crate", version = "=0.1.0", depth = 20 },
]

[sources]
# Lint level for what to happen when a crate from a crate registry that is not
# in the allow list is encountered
unknown-registry = "deny"
# Lint level for what to happen when a crate from a git repository that is not
# in the allow list is encountered
unknown-git = "deny"

[licenses]
# The lint level for crates which do not have a detectable license
unlicensed = "deny"
# Lint level for licenses considered copyleft
copyleft = "deny"
# The confidence threshold for detecting a license from license text.
# The higher the value, the more closely the license text must be to the
# canonical license text of a valid SPDX license file.
# [possible values: any between 0.0 and 1.0].
confidence-threshold = 0.60
# List of explicitly allowed licenses
# See https://spdx.org/licenses/ for list of possible licenses
# [possible values: any SPDX 3.11 short identifier (+ optional exception)].
allow = [
"Apache-2.0 WITH LLVM-exception",
"Apache-2.0",
"BSD-3-Clause",
"CC0-1.0",
"ISC",
"MIT",
"MPL-2.0",
"OpenSSL",
"Unicode-DFS-2016",
"Unlicense",
"Zlib",
]
# Allow 1 or more licenses on a per-crate basis, so that particular licenses
# aren't accepted for every possible crate as with the normal allow list
exceptions = [
# Each entry is the crate and version constraint, and its specific allow
# list
#{ allow = ["license_name"], name = "crate", version = "*" },
]
1 change: 0 additions & 1 deletion examples/mnist-inference-web/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ wgpu = ["burn/wgpu"]
burn = { path = "../../burn", default-features = false }
serde = { workspace = true }
wasm-bindgen = { version = "0.2.87" }
wasm-bindgen-futures = "0.4"
js-sys = "0.3.64"

[dev-dependencies]
Expand Down
2 changes: 1 addition & 1 deletion examples/text-classification/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ wgpu = ["burn/wgpu"]
burn = {path = "../../burn", features=["train", "ndarray", "fusion"]}

# Tokenizer
tokenizers = { version = "0.13.4", default-features = false, features = [
tokenizers = { version = "0.15.0", default-features = false, features = [
"onig",
"http",
] }
Expand Down
2 changes: 1 addition & 1 deletion examples/text-generation/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ f16 = []
burn = {path = "../../burn", features=["train", "tch"]}

# Tokenizer
tokenizers = {version = "0.13.4", default-features = false, features = [
tokenizers = {version = "0.15.0", default-features = false, features = [
"onig",
"http",
]}
Expand Down
1 change: 1 addition & 0 deletions xtask/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
name = "xtask"
version = "0.3.0"
edition = "2021"
license = "MIT OR Apache-2.0"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down

0 comments on commit 4456034

Please sign in to comment.