diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6972977..1acc5bd 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,12 +20,12 @@ env: jobs: test: - name: Build and test [${{ matrix.rust }}, ${{ matrix.profile }}] + name: Build and test [${{ matrix.profile }}] runs-on: ubuntu-latest strategy: fail-fast: false matrix: - rust: [1.60.0, stable] + rust: [stable] profile: [dev, release] steps: - uses: actions/checkout@v3 @@ -38,6 +38,27 @@ jobs: run: | cargo build --profile=${{ matrix.profile }} --bins cargo test --profile=${{ matrix.profile }} + build-minimum: + name: Build using minimum versions of dependencies + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install Nightly Rust + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: nightly + - run: cargo +nightly -Z minimal-versions update + - name: Install minimum Rust + uses: actions-rs/toolchain@v1 + with: + profile: minimal + # Please adjust README and rust-version field in Cargo.toml files when + # bumping version. + toolchain: 1.60.0 + default: true + - name: Build + run: cargo build --features=vendored-openssl --locked clippy: name: Lint with clippy runs-on: ubuntu-latest diff --git a/Cargo.toml b/Cargo.toml index ef80f7a..86401a8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -55,3 +55,10 @@ tracing = {version = "0.1", default-features = false, features = ["std"]} tracing-subscriber = {version = "0.3", default-features = false, features = ["ansi", "env-filter", "fmt"]} uuid = {version = "1.0", features = ["v4"]} yansi = {version = "0.5", default-features = false} + +[dev-dependencies] +# A set of unused dependencies that we require to force correct minimum versions +# of transitive dependencies, for cases where our dependencies have incorrect +# dependency specifications themselves. +_rustc_version_unused = { package = "rustc_version", version = "0.2.2" } +_num_bigint_unused = { package = "num-bigint", version = "0.4.2" }