From ffb7c795e15d2d879f2d857e7607729ca4a53155 Mon Sep 17 00:00:00 2001 From: Daniela Brozzoni Date: Mon, 24 Jul 2023 12:44:48 +0200 Subject: [PATCH] ci: Avoid pinning dependencies, use --precise Fixes #1035 --- .github/workflows/cont_integration.yml | 3 +++ README.md | 12 ++++++++++++ crates/bdk/Cargo.toml | 2 +- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cont_integration.yml b/.github/workflows/cont_integration.yml index d29f81c23..d03ce9436 100644 --- a/.github/workflows/cont_integration.yml +++ b/.github/workflows/cont_integration.yml @@ -27,6 +27,9 @@ jobs: profile: minimal - name: Rust Cache uses: Swatinem/rust-cache@v2.2.1 + - name: Pin dependencies for MSRV + if: matrix.rust.version == '1.57.0' + run: cargo update -p log --precise "0.4.18" && cargo update -p tempfile --precise "3.6.0" - name: Build run: cargo build ${{ matrix.features }} - name: Test diff --git a/README.md b/README.md index e50de4b84..565212754 100644 --- a/README.md +++ b/README.md @@ -52,3 +52,15 @@ Fully working examples of how to use these components are in `/example-crates` [`rust-bitcoin`]: https://github.com/rust-bitcoin/rust-bitcoin [`esplora-client`]: https://docs.rs/esplora-client/0.3.0/esplora_client/ [`electrum-client`]: https://docs.rs/electrum-client/0.13.0/electrum_client/ + +## Minimum Supported Rust Version (MSRV) +This library should compile with any combination of features with Rust 1.57.0. + +To build with the MSRV you will need to pin dependencies as follows: + +``` +# log 0.4.19 has MSRV 1.60.0+ +cargo update -p log --precise "0.4.18" +# tempfile 3.7.0 has MSRV 1.63.0 +cargo update -p tempfile --precise "3.6.0" +``` diff --git a/crates/bdk/Cargo.toml b/crates/bdk/Cargo.toml index 29b478d13..344fb3e55 100644 --- a/crates/bdk/Cargo.toml +++ b/crates/bdk/Cargo.toml @@ -13,7 +13,7 @@ edition = "2021" rust-version = "1.57" [dependencies] -log = "=0.4.18" +log = "0.4" rand = "^0.8" miniscript = { version = "9", features = ["serde"], default-features = false } bitcoin = { version = "0.29", features = ["serde", "base64", "rand"], default-features = false }