Skip to content

Commit f573ac3

Browse files
committed
feat(ci): add ci/pin-msrv.sh and use it on CI
Also adds a `msrv` recipe that pins deps, builds and runs tests with rustc 1.63.0.
1 parent c982d96 commit f573ac3

File tree

4 files changed

+49
-66
lines changed

4 files changed

+49
-66
lines changed

.github/workflows/cont_integration.yml

Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -49,39 +49,7 @@ jobs:
4949
run: rustup update
5050
- name: Pin dependencies for MSRV
5151
if: matrix.rust.version == '1.63.0'
52-
run: |
53-
cargo update -p reqwest --precise "0.12.4"
54-
cargo update -p minreq --precise "2.13.2"
55-
cargo update -p home --precise "0.5.5"
56-
cargo update -p url --precise "2.5.0"
57-
cargo update -p tokio --precise "1.38.1"
58-
cargo update -p native-tls --precise "0.2.13"
59-
cargo update -p security-framework-sys --precise "2.11.1"
60-
cargo update -p ring --precise "0.17.12"
61-
cargo update -p flate2 --precise "1.0.35"
62-
cargo update -p once_cell --precise "1.20.3"
63-
cargo update -p tracing --precise "0.1.41"
64-
cargo update -p tracing-core --precise "0.1.33"
65-
cargo update -p parking_lot --precise "0.12.3"
66-
cargo update -p parking_lot_core --precise "0.9.10"
67-
cargo update -p lock_api --precise "0.4.12"
68-
cargo update -p socket2@0.6.2 --precise "0.5.10"
69-
cargo update -p webpki-roots@1.0.6 --precise "1.0.1"
70-
cargo update -p openssl --precise "0.10.73"
71-
cargo update -p openssl-sys --precise "0.9.109"
72-
cargo update -p syn --precise "2.0.106"
73-
cargo update -p quote --precise "1.0.41"
74-
cargo update -p log --precise "0.4.28"
75-
cargo update -p itoa --precise "1.0.15"
76-
cargo update -p serde_json --precise "1.0.145"
77-
cargo update -p ryu --precise "1.0.20"
78-
cargo update -p proc-macro2 --precise "1.0.103"
79-
cargo update -p getrandom@0.4.1 --precise "0.3.4"
80-
cargo update -p anyhow --precise "1.0.100"
81-
cargo update -p hyper-util --precise "0.1.19"
82-
cargo update -p unicode-ident --precise "1.0.22"
83-
84-
cargo update -p bzip2-sys@0.1.13+1.0.8 --precise "0.1.12+1.0.8" # dev-dependency
52+
run: bash ci/pin-msrv.sh
8553
- name: Build
8654
run: cargo build --features ${{ matrix.features }} --no-default-features
8755
- name: Test

README.md

Lines changed: 2 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -16,39 +16,8 @@ Bitcoin Esplora API client library. Supports plaintext, TLS and Onion servers. B
1616

1717
This library should compile with any combination of features with Rust 1.63.0.
1818

19-
To build with the MSRV you will need to pin dependencies as follows:
19+
To build with the MSRV you will need to pin dependencies:
2020

2121
```shell
22-
cargo update -p reqwest --precise "0.12.4"
23-
cargo update -p minreq --precise "2.13.2"
24-
cargo update -p home --precise "0.5.5"
25-
cargo update -p url --precise "2.5.0"
26-
cargo update -p tokio --precise "1.38.1"
27-
cargo update -p native-tls --precise "0.2.13"
28-
cargo update -p security-framework-sys --precise "2.11.1"
29-
cargo update -p ring --precise "0.17.12"
30-
cargo update -p flate2 --precise "1.0.35"
31-
cargo update -p once_cell --precise "1.20.3"
32-
cargo update -p tracing --precise "0.1.41"
33-
cargo update -p tracing-core --precise "0.1.33"
34-
cargo update -p parking_lot --precise "0.12.3"
35-
cargo update -p parking_lot_core --precise "0.9.10"
36-
cargo update -p lock_api --precise "0.4.12"
37-
cargo update -p socket2@0.6.2 --precise "0.5.10"
38-
cargo update -p webpki-roots@1.0.6 --precise "1.0.1"
39-
cargo update -p openssl --precise "0.10.73"
40-
cargo update -p openssl-sys --precise "0.9.109"
41-
cargo update -p syn --precise "2.0.106"
42-
cargo update -p quote --precise "1.0.41"
43-
cargo update -p log --precise "0.4.28"
44-
cargo update -p itoa --precise "1.0.15"
45-
cargo update -p serde_json --precise "1.0.145"
46-
cargo update -p ryu --precise "1.0.20"
47-
cargo update -p proc-macro2 --precise "1.0.103"
48-
cargo update -p getrandom@0.4.1 --precise "0.3.4"
49-
cargo update -p anyhow --precise "1.0.100"
50-
cargo update -p hyper-util --precise "0.1.19"
51-
cargo update -p unicode-ident --precise "1.0.22"
52-
53-
cargo update -p bzip2-sys@0.1.13+1.0.8 --precise "0.1.12+1.0.8" # dev-dependency
22+
bash ci/pin-msrv.sh
5423
```

ci/pin-msrv.sh

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#!/bin/bash
2+
3+
set -x
4+
set -euo pipefail
5+
6+
# Pin dependencies for MSRV (1.63.0)
7+
cargo update -p reqwest --precise "0.12.4"
8+
cargo update -p minreq --precise "2.13.2"
9+
cargo update -p home --precise "0.5.5"
10+
cargo update -p url --precise "2.5.0"
11+
cargo update -p tokio --precise "1.38.1"
12+
cargo update -p native-tls --precise "0.2.13"
13+
cargo update -p security-framework-sys --precise "2.11.1"
14+
cargo update -p ring --precise "0.17.12"
15+
cargo update -p flate2 --precise "1.0.35"
16+
cargo update -p once_cell --precise "1.20.3"
17+
cargo update -p tracing --precise "0.1.41"
18+
cargo update -p tracing-core --precise "0.1.33"
19+
cargo update -p parking_lot --precise "0.12.3"
20+
cargo update -p parking_lot_core --precise "0.9.10"
21+
cargo update -p lock_api --precise "0.4.12"
22+
cargo update -p socket2@0.6.2 --precise "0.5.10"
23+
cargo update -p webpki-roots@1.0.6 --precise "1.0.1"
24+
cargo update -p openssl --precise "0.10.73"
25+
cargo update -p openssl-sys --precise "0.9.109"
26+
cargo update -p syn --precise "2.0.106"
27+
cargo update -p quote --precise "1.0.41"
28+
cargo update -p log --precise "0.4.28"
29+
cargo update -p itoa --precise "1.0.15"
30+
cargo update -p serde_json --precise "1.0.145"
31+
cargo update -p ryu --precise "1.0.20"
32+
cargo update -p proc-macro2 --precise "1.0.103"
33+
cargo update -p getrandom@0.4.1 --precise "0.3.4"
34+
cargo update -p anyhow --precise "1.0.100"
35+
cargo update -p hyper-util --precise "0.1.19"
36+
cargo update -p unicode-ident --precise "1.0.22"
37+
38+
cargo update -p bzip2-sys@0.1.13+1.0.8 --precise "0.1.12+1.0.8" # dev-dependency
39+

justfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
alias b := build
22
alias c := check
33
alias f := fmt
4+
alias m := msrv
45
alias t := test
56
alias p := pre-push
67

@@ -25,6 +26,12 @@ check:
2526
fmt:
2627
cargo +nightly fmt
2728

29+
# Build and test using the MSRV toolchain (1.63.0)
30+
msrv:
31+
bash ci/pin-msrv.sh
32+
cargo +1.63.0 build --all-features
33+
cargo +1.63.0 test --all-features -- --test-threads=1
34+
2835
# Run all tests on the workspace with all features
2936
test:
3037
cargo test --all-features -- --test-threads=1

0 commit comments

Comments
 (0)