From: valued mammal Date: Mon, 20 Jan 2025 16:37:40 +0000 (-0500) Subject: ci: add `pin-msrv.sh` X-Git-Tag: bitcoind_rpc-0.18.0~8^2~1 X-Git-Url: http://internal-gitweb-vhost/script/%22https:/database/scripts/enum.FromScriptError.html?a=commitdiff_plain;h=78bbfbe7210959b2c174c6c7e418bc975055a6ca;p=bdk ci: add `pin-msrv.sh` - add ci/pin-msrv.sh, which pins the dependencies for 1.63.0 MSRV --- diff --git a/.github/workflows/cont_integration.yml b/.github/workflows/cont_integration.yml index 6a57c9c5..b9c1664b 100644 --- a/.github/workflows/cont_integration.yml +++ b/.github/workflows/cont_integration.yml @@ -17,7 +17,7 @@ jobs: build-test: needs: prepare - name: Build and test + name: Build & Test runs-on: ubuntu-latest strategy: matrix: @@ -40,36 +40,20 @@ jobs: profile: minimal - name: Rust Cache uses: Swatinem/rust-cache@v2.7.5 - - name: Pin dependencies for MSRV + - name: Pin dependencies for 1.75 + if: matrix.rust.version == '1.75.0' run: | - if [ "${{matrix.rust.version}}" = '1.63.0' ]; then - cargo update -p zstd-sys --precise "2.0.8+zstd.1.5.5" - cargo update -p time --precise "0.3.20" - cargo update -p home --precise "0.5.5" - cargo update -p proptest --precise "1.2.0" - cargo update -p url --precise "2.5.0" - cargo update -p cc --precise "1.0.105" - cargo update -p tokio --precise "1.38.1" - cargo update -p tokio-util --precise "0.7.11" - cargo update -p indexmap --precise "2.5.0" - cargo update -p security-framework-sys --precise "2.11.1" - cargo update -p csv --precise "1.3.0" - cargo update -p unicode-width --precise "0.1.13" - elif [ "${{matrix.rust.version}}" = '1.75.0' ]; then - cargo update -p home --precise "0.5.9" - fi - - name: Build + cargo update -p home --precise "0.5.9" + - name: Pin dependencies for MSRV + if: matrix.rust.version == '1.63.0' + run: ./ci/pin-msrv.sh + - name: Build + Test run: | if [ "${{matrix.rust.version}}" = '1.63.0' ]; then cargo build --workspace --exclude 'example_*' --exclude 'bdk_electrum' ${{ matrix.features }} - else - cargo build --workspace --exclude 'example_*' ${{ matrix.features }} - fi - - name: Test - run: | - if [ "${{matrix.rust.version}}" = '1.63.0' ]; then cargo test --workspace --exclude 'example_*' --exclude 'bdk_electrum' ${{ matrix.features }} else + cargo build --workspace --exclude 'example_*' ${{ matrix.features }} cargo test --workspace --exclude 'example_*' ${{ matrix.features }} fi @@ -151,6 +135,7 @@ jobs: clippy_check: needs: prepare + name: Rust clippy runs-on: ubuntu-latest permissions: checks: write diff --git a/README.md b/README.md index 67a65d40..5ed54e97 100644 --- a/README.md +++ b/README.md @@ -73,22 +73,7 @@ The BDK library maintains a MSRV of 1.63.0. This includes the following crates The MSRV of `bdk_electrum` is 1.75.0. -To build with the MSRV you will need to pin dependencies as follows: - -```shell -cargo update -p zstd-sys --precise "2.0.8+zstd.1.5.5" -cargo update -p time --precise "0.3.20" -cargo update -p home --precise "0.5.5" -cargo update -p proptest --precise "1.2.0" -cargo update -p url --precise "2.5.0" -cargo update -p cc --precise "1.0.105" -cargo update -p tokio --precise "1.38.1" -cargo update -p tokio-util --precise "0.7.11" -cargo update -p indexmap --precise "2.5.0" -cargo update -p security-framework-sys --precise "2.11.1" -cargo update -p csv --precise "1.3.0" -cargo update -p unicode-width --precise "0.1.13" -``` +To build with the MSRV of 1.63.0 you will need to pin dependencies by running the [`pin-msrv.sh`](./ci/pin-msrv.sh) script ## License diff --git a/ci/pin-msrv.sh b/ci/pin-msrv.sh new file mode 100755 index 00000000..07454d58 --- /dev/null +++ b/ci/pin-msrv.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +set -x +set -euo pipefail + +# Pin dependencies for MSRV + +# To pin deps, switch toolchain to MSRV and execute the below updates + +# cargo clean +# rustup default 1.63.0 + +cargo update -p zstd-sys --precise "2.0.8+zstd.1.5.5" +cargo update -p time --precise "0.3.20" +cargo update -p home --precise "0.5.5" +cargo update -p proptest --precise "1.2.0" +cargo update -p url --precise "2.5.0" +cargo update -p cc --precise "1.0.105" +cargo update -p tokio --precise "1.38.1" +cargo update -p tokio-util --precise "0.7.11" +cargo update -p indexmap --precise "2.5.0" +cargo update -p security-framework-sys --precise "2.11.1" +cargo update -p csv --precise "1.3.0" +cargo update -p unicode-width --precise "0.1.13"