@@ -8,39 +8,17 @@ HOST_PLATFORM="$(rustc --version --verbose | grep "host:" | awk '{ print $2 }')"
88#  which we do here.
99#  Further crates which appear only as dev-dependencies are pinned further down.
1010function  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" 
13- 	[[ " $RUSTC_MINOR_VERSION " -gt  48  &&   " $RUSTC_MINOR_VERSION " -lt  56 ]] &&  cargo update -p tokio --precise " 1.25.1" 
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" 
1413
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" 
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" 
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" 
2016
2117	return  0 #  Don't fail the script if our rustc is higher than the last check
2218}
2319
2420PIN_RELEASE_DEPS #  pin the release dependencies in our main workspace
2521
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" 
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" 
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.*' |  tr -d ' ",' |  tr '  ' ' :' ) 
35- 	cargo update -p " $SYN_2_DEP " " 2.0.32" 
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" 
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" 
43- 
4422export  RUST_BACKTRACE=1
4523
4624echo  -e " \n\nBuilding and testing all workspace crates..." 
@@ -59,9 +37,17 @@ cargo test --verbose --color always --features rpc-client,rest-client,tokio
5937cargo check --verbose --color always --features rpc-client,rest-client,tokio
6038popd 
6139
62- if  [[ $RUSTC_MINOR_VERSION   -gt  67  &&   " $HOST_PLATFORM " !=  * windows*  ]];  then 
40+ if  [[ " $HOST_PLATFORM " !=  * windows*  ]];  then 
6341	echo  -e " \n\nBuilding and testing Transaction Sync Clients with features" 
6442	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" 
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" 
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" 
50+ 
6551	cargo test  --verbose --color always --features esplora-blocking
6652	cargo check --verbose --color always --features esplora-blocking
6753	cargo test  --verbose --color always --features esplora-async
@@ -76,20 +62,16 @@ pushd lightning-background-processor
7662cargo test  --verbose --color always --features futures
7763popd 
7864
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 
8670
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 
9375
9476echo  -e " \n\nBuilding with all Log-Limiting features" 
9577pushd  lightning
@@ -100,13 +82,14 @@ popd
10082
10183echo  -e " \n\nTesting no-std flags in various combinations" 
10284for  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
10486	#  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
10688done 
89+ 
10790for  DIR  in  lightning lightning-invoice lightning-rapid-gossip-sync;  do 
10891	#  check if there is a conflict between no-std and the c_bindings cfg
109- 	[  " $RUSTC_MINOR_VERSION "   -gt  50 ]  &&   RUSTFLAGS=" --cfg=c_bindings" test  -p $DIR  --verbose --color always --no-default-features --features=no-std
92+ 	RUSTFLAGS=" --cfg=c_bindings" test  -p $DIR  --verbose --color always --no-default-features --features=no-std
11093done 
11194RUSTFLAGS=" --cfg=c_bindings" test  --verbose --color always
11295
@@ -123,16 +106,7 @@ popd
123106echo  -e " \n\nTesting no-std build on a downstream no-std crate" 
124107#  check no-std compatibility across dependencies
125108pushd  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" 
134- 	cargo check --verbose --color always
135- fi 
109+ cargo check --verbose --color always --features lightning-transaction-sync
136110[ " $CI_MINIMIZE_DISK_USAGE " !=  " " &&  cargo clean
137111popd 
138112
0 commit comments