@@ -4,18 +4,33 @@ set -eox pipefail
44RUSTC_MINOR_VERSION=$( rustc --version | awk ' { split($2,a,"."); print a[2] }' )
55HOST_PLATFORM=" $( rustc --version --verbose | grep " host:" | awk ' { print $2 }' ) "
66
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
1026
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
1328
1429# The addr2line v0.20 crate (a dependency of `backtrace` starting with 0.3.68) relies on 1.55+
1530[ " $RUSTC_MINOR_VERSION " -lt 55 ] && cargo update -p backtrace --precise " 0.3.67" --verbose
1631
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
1934
2035[ " $LDK_COVERAGE_BUILD " != " " ] && export RUSTFLAGS=" -C link-dead-code"
2136
0 commit comments