@@ -4,18 +4,33 @@ set -eox pipefail
4
4
RUSTC_MINOR_VERSION=$( rustc --version | awk ' { split($2,a,"."); print a[2] }' )
5
5
HOST_PLATFORM=" $( rustc --version --verbose | grep " host:" | awk ' { print $2 }' ) "
6
6
7
- # Tokio MSRV on versions 1.17 through 1.26 is rustc 1.49. Above 1.26 MSRV is 1.56.
8
- [ " $RUSTC_MINOR_VERSION " -lt 49 ] && cargo update -p tokio --precise " 1.14.1" --verbose
9
- [[ " $RUSTC_MINOR_VERSION " -gt 48 && " $RUSTC_MINOR_VERSION " -lt 56 ]] && cargo update -p tokio --precise " 1.25.1" --verbose
7
+ # Some crates require pinning to meet our MSRV, which we do here.
8
+ # Further crates which appear only as dev-dependencies are pinned further down.
9
+ function PIN_RELEASE_DEPS {
10
+ # Tokio MSRV on versions 1.17 through 1.26 is rustc 1.49. Above 1.26 MSRV is 1.56.
11
+ [ " $RUSTC_MINOR_VERSION " -lt 49 ] && cargo update -p tokio --precise " 1.14.1" --verbose
12
+ [[ " $RUSTC_MINOR_VERSION " -gt 48 && " $RUSTC_MINOR_VERSION " -lt 56 ]] && cargo update -p tokio --precise " 1.25.1" --verbose
13
+
14
+ # Sadly the log crate is always a dependency of tokio until 1.20, and has no reasonable MSRV guarantees
15
+ [ " $RUSTC_MINOR_VERSION " -lt 49 ] && cargo update -p log --precise " 0.4.18" --verbose
16
+
17
+ # The serde_json crate switched to Rust edition 2021 starting with v1.0.101, i.e., has MSRV of 1.56
18
+ [ " $RUSTC_MINOR_VERSION " -lt 56 ] && cargo update -p serde_json --precise " 1.0.100" --verbose
19
+ }
20
+
21
+ # Before pinning anything (most of which are dev-dependeicnes), check that we can build
22
+ pushd msrv-no-dev-deps-check
23
+ PIN_RELEASE_DEPS
24
+ cargo check
25
+ popd
10
26
11
- # Sadly the log crate is always a dependency of tokio until 1.20, and has no reasonable MSRV guarantees
12
- [ " $RUSTC_MINOR_VERSION " -lt 49 ] && cargo update -p log --precise " 0.4.18" --verbose
27
+ PIN_RELEASE_DEPS
13
28
14
29
# The addr2line v0.20 crate (a dependency of `backtrace` starting with 0.3.68) relies on 1.55+
15
30
[ " $RUSTC_MINOR_VERSION " -lt 55 ] && cargo update -p backtrace --precise " 0.3.67" --verbose
16
31
17
- # The serde_json crate switched to Rust edition 2021 starting with v1.0.101 , i.e., has MSRV of 1.56
18
- [ " $RUSTC_MINOR_VERSION " -lt 56 ] && cargo update -p serde_json --precise " 1.0.100 " --verbose
32
+ # The quote crate switched to Rust edition 2021 starting with v1.0.31 , i.e., has MSRV of 1.56
33
+ [ " $RUSTC_MINOR_VERSION " -lt 56 ] && cargo update -p quote --precise " 1.0.30 " --verbose
19
34
20
35
[ " $LDK_COVERAGE_BUILD " != " " ] && export RUSTFLAGS=" -C link-dead-code"
21
36
0 commit comments