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