@@ -8,39 +8,17 @@ HOST_PLATFORM="$(rustc --version --verbose | grep "host:" | awk '{ print $2 }')"
8
8
# which we do here.
9
9
# Further crates which appear only as dev-dependencies are pinned further down.
10
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
11
+ # Starting with version 1.10.0, the `regex` crate has an MSRV of rustc 1.65.0.
12
+ [ " $RUSTC_MINOR_VERSION " -lt 65 ] && cargo update -p regex --precise " 1.9.6" --verbose
14
13
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
14
+ # The addr2line v0.21 crate (a dependency of `backtrace` starting with 0.3.69) relies on rustc 1.65
15
+ [ " $RUSTC_MINOR_VERSION " -lt 65 ] && cargo update -p backtrace --precise " 0.3.68" --verbose
20
16
21
17
return 0 # Don't fail the script if our rustc is higher than the last check
22
18
}
23
19
24
20
PIN_RELEASE_DEPS # pin the release dependencies in our main workspace
25
21
26
- # The addr2line v0.20 crate (a dependency of `backtrace` starting with 0.3.68) relies on 1.55+
27
- [ " $RUSTC_MINOR_VERSION " -lt 55 ] && cargo update -p backtrace --precise " 0.3.67" --verbose
28
-
29
- # The quote crate switched to Rust edition 2021 starting with v1.0.31, i.e., has MSRV of 1.56
30
- [ " $RUSTC_MINOR_VERSION " -lt 56 ] && cargo update -p quote --precise " 1.0.30" --verbose
31
-
32
- # The syn crate depends on too-new proc-macro2 starting with v2.0.33, i.e., has MSRV of 1.56
33
- if [ " $RUSTC_MINOR_VERSION " -lt 56 ]; then
34
- SYN_2_DEP=$( grep -o ' "syn 2.*' Cargo.lock | tr -d ' ",' | tr ' ' ' :' )
35
- cargo update -p " $SYN_2_DEP " --precise " 2.0.32" --verbose
36
- fi
37
-
38
- # The proc-macro2 crate switched to Rust edition 2021 starting with v1.0.66, i.e., has MSRV of 1.56
39
- [ " $RUSTC_MINOR_VERSION " -lt 56 ] && cargo update -p proc-macro2 --precise " 1.0.65" --verbose
40
-
41
- # The memchr crate switched to an MSRV of 1.60 starting with v2.6.0
42
- [ " $RUSTC_MINOR_VERSION " -lt 60 ] && cargo update -p memchr --precise " 2.5.0" --verbose
43
-
44
22
export RUST_BACKTRACE=1
45
23
46
24
echo -e " \n\nBuilding and testing all workspace crates..."
@@ -59,9 +37,17 @@ cargo test --verbose --color always --features rpc-client,rest-client,tokio
59
37
cargo check --verbose --color always --features rpc-client,rest-client,tokio
60
38
popd
61
39
62
- if [[ $RUSTC_MINOR_VERSION -gt 67 && " $HOST_PLATFORM " != * windows* ]]; then
40
+ if [[ " $HOST_PLATFORM " != * windows* ]]; then
63
41
echo -e " \n\nBuilding and testing Transaction Sync Clients with features"
64
42
pushd lightning-transaction-sync
43
+
44
+ # jobserver 0.1.27 requires rustc 1.66.0
45
+ [ " $RUSTC_MINOR_VERSION " -lt 66 ] && cargo update -p jobserver --precise " 0.1.26" --verbose
46
+ # zstd-sys 2.0.9+zstd.1.5.5 requires rustc 1.64.0
47
+ [ " $RUSTC_MINOR_VERSION " -lt 64 ] && cargo update -p zstd-sys --precise " 2.0.8+zstd.1.5.5" --verbose
48
+ # reqwest 0.11.21 had a regression that broke its 1.63.0 MSRV
49
+ [ " $RUSTC_MINOR_VERSION " -lt 65 ] && cargo update -p reqwest --precise " 0.11.20" --verbose
50
+
65
51
cargo test --verbose --color always --features esplora-blocking
66
52
cargo check --verbose --color always --features esplora-blocking
67
53
cargo test --verbose --color always --features esplora-async
@@ -76,20 +62,16 @@ pushd lightning-background-processor
76
62
cargo test --verbose --color always --features futures
77
63
popd
78
64
79
- if [ " $RUSTC_MINOR_VERSION " -gt 55 ]; then
80
- echo -e " \n\nTest Custom Message Macros"
81
- pushd lightning-custom-message
82
- cargo test --verbose --color always
83
- [ " $CI_MINIMIZE_DISK_USAGE " != " " ] && cargo clean
84
- popd
85
- fi
65
+ echo -e " \n\nTest Custom Message Macros"
66
+ pushd lightning-custom-message
67
+ cargo test --verbose --color always
68
+ [ " $CI_MINIMIZE_DISK_USAGE " != " " ] && cargo clean
69
+ popd
86
70
87
- if [ " $RUSTC_MINOR_VERSION " -gt 51 ]; then # Current `object` MSRV, subject to change
88
- echo -e " \n\nTest backtrace-debug builds"
89
- pushd lightning
90
- cargo test --verbose --color always --features backtrace
91
- popd
92
- fi
71
+ echo -e " \n\nTest backtrace-debug builds"
72
+ pushd lightning
73
+ cargo test --verbose --color always --features backtrace
74
+ popd
93
75
94
76
echo -e " \n\nBuilding with all Log-Limiting features"
95
77
pushd lightning
@@ -100,13 +82,14 @@ popd
100
82
101
83
echo -e " \n\nTesting no-std flags in various combinations"
102
84
for DIR in lightning lightning-invoice lightning-rapid-gossip-sync; do
103
- [ " $RUSTC_MINOR_VERSION " -gt 50 ] && cargo test -p $DIR --verbose --color always --no-default-features --features no-std
85
+ cargo test -p $DIR --verbose --color always --no-default-features --features no-std
104
86
# check if there is a conflict between no-std and the default std feature
105
- [ " $RUSTC_MINOR_VERSION " -gt 50 ] && cargo test -p $DIR --verbose --color always --features no-std
87
+ cargo test -p $DIR --verbose --color always --features no-std
106
88
done
89
+
107
90
for DIR in lightning lightning-invoice lightning-rapid-gossip-sync; do
108
91
# check if there is a conflict between no-std and the c_bindings cfg
109
- [ " $RUSTC_MINOR_VERSION " -gt 50 ] && RUSTFLAGS=" --cfg=c_bindings" cargo test -p $DIR --verbose --color always --no-default-features --features=no-std
92
+ RUSTFLAGS=" --cfg=c_bindings" cargo test -p $DIR --verbose --color always --no-default-features --features=no-std
110
93
done
111
94
RUSTFLAGS=" --cfg=c_bindings" cargo test --verbose --color always
112
95
@@ -123,16 +106,7 @@ popd
123
106
echo -e " \n\nTesting no-std build on a downstream no-std crate"
124
107
# check no-std compatibility across dependencies
125
108
pushd no-std-check
126
- if [[ $RUSTC_MINOR_VERSION -gt 67 ]]; then
127
- # lightning-transaction-sync's MSRV is 1.67
128
- cargo check --verbose --color always --features lightning-transaction-sync
129
- else
130
- # The memchr crate switched to an MSRV of 1.60 starting with v2.6.0
131
- # This is currently only a release dependency via core2, which we intend to work with
132
- # rust-bitcoin to remove soon.
133
- [ " $RUSTC_MINOR_VERSION " -lt 60 ] && cargo update -p memchr --precise " 2.5.0" --verbose
134
- cargo check --verbose --color always
135
- fi
109
+ cargo check --verbose --color always --features lightning-transaction-sync
136
110
[ " $CI_MINIMIZE_DISK_USAGE " != " " ] && cargo clean
137
111
popd
138
112
0 commit comments