@@ -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,13 @@ 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+ 
6547	cargo test  --verbose --color always --features esplora-blocking
6648	cargo check --verbose --color always --features esplora-blocking
6749	cargo test  --verbose --color always --features esplora-async
@@ -76,20 +58,16 @@ pushd lightning-background-processor
7658cargo test  --verbose --color always --features futures
7759popd 
7860
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 
61+ echo  -e " \n\nTest Custom Message Macros" 
62+ pushd  lightning-custom-message
63+ cargo test  --verbose --color always
64+ [ " $CI_MINIMIZE_DISK_USAGE " !=  " " &&  cargo clean
65+ popd 
8666
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 
67+ echo  -e " \n\nTest backtrace-debug builds" 
68+ pushd  lightning
69+ cargo test  --verbose --color always --features backtrace
70+ popd 
9371
9472echo  -e " \n\nBuilding with all Log-Limiting features" 
9573pushd  lightning
@@ -100,13 +78,14 @@ popd
10078
10179echo  -e " \n\nTesting no-std flags in various combinations" 
10280for  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
81+ 	cargo test  -p $DIR  --verbose --color always --no-default-features --features no-std
10482	#  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
83+ 	cargo test  -p $DIR  --verbose --color always --features no-std
10684done 
85+ 
10786for  DIR  in  lightning lightning-invoice lightning-rapid-gossip-sync;  do 
10887	#  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
88+ 	RUSTFLAGS=" --cfg=c_bindings" test  -p $DIR  --verbose --color always --no-default-features --features=no-std
11089done 
11190RUSTFLAGS=" --cfg=c_bindings" test  --verbose --color always
11291
@@ -123,16 +102,7 @@ popd
123102echo  -e " \n\nTesting no-std build on a downstream no-std crate" 
124103#  check no-std compatibility across dependencies
125104pushd  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 
105+ cargo check --verbose --color always
136106[ " $CI_MINIMIZE_DISK_USAGE " !=  " " &&  cargo clean
137107popd 
138108
0 commit comments