diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index bb1e89404d..d3b34ccd76 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -77,3 +77,32 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} args: --all --examples --tests --benches -- -D warnings + + minimal-versions: + # Check for minimal-versions errors where a dependency is too + # underconstrained to build on the minimal supported version of all + # dependencies in the dependency graph. + name: minimal-versions + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + profile: minimal + override: true + - name: Install cargo-hack + run: | + curl -LsSf https://github.com/taiki-e/cargo-hack/releases/latest/download/cargo-hack-x86_64-unknown-linux-gnu.tar.gz | tar xzf - -C ~/.cargo/bin + - name: "check --all-features -Z minimal-versions" + run: | + # Remove dev-dependencies from Cargo.toml to prevent the next `cargo update` + # from determining minimal versions based on dev-dependencies. + cargo hack --remove-dev-deps --workspace + # Update Cargo.lock to minimal version dependencies. + cargo update -Z minimal-versions + cargo hack check \ + --package tracing \ + --package tracing-core \ + --package tracing-subscriber \ + --all-features --ignore-private diff --git a/tracing-core/Cargo.toml b/tracing-core/Cargo.toml index d9536aaeca..36b7a59683 100644 --- a/tracing-core/Cargo.toml +++ b/tracing-core/Cargo.toml @@ -35,7 +35,7 @@ std = ["lazy_static", "alloc"] maintenance = { status = "actively-developed" } [dependencies] -lazy_static = { version = "1", optional = true } +lazy_static = { version = "1.0.2", optional = true } [package.metadata.docs.rs] all-features = true diff --git a/tracing-subscriber/Cargo.toml b/tracing-subscriber/Cargo.toml index 2a134f5989..746793f86b 100644 --- a/tracing-subscriber/Cargo.toml +++ b/tracing-subscriber/Cargo.toml @@ -57,7 +57,7 @@ serde = { version = "1.0", optional = true } tracing-serde = { path = "../tracing-serde", version = "0.2", optional = true } # opt-in deps -parking_lot = { version = ">= 0.7, <= 0.12", optional = true } +parking_lot = { version = ">= 0.9.0, <= 0.12", optional = true } # registry sharded-slab = { version = "0.1.0", optional = true }