From 050f5a90297678f2cad36feee9a1db2367e35594 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Thu, 14 Sep 2023 20:20:56 +0000 Subject: [PATCH 1/3] Pin `syn` back to 2.0.32 fix MSRV in testing --- ci/ci-tests.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ci/ci-tests.sh b/ci/ci-tests.sh index 8c675a654be..74ba5a7da71 100755 --- a/ci/ci-tests.sh +++ b/ci/ci-tests.sh @@ -29,6 +29,9 @@ PIN_RELEASE_DEPS # pin the release dependencies in our main workspace # The quote crate switched to Rust edition 2021 starting with v1.0.31, i.e., has MSRV of 1.56 [ "$RUSTC_MINOR_VERSION" -lt 56 ] && cargo update -p quote --precise "1.0.30" --verbose +# The syn crate depends on too-new proc-macro2 starting with v2.0.33, i.e., has MSRV of 1.56 +[ "$RUSTC_MINOR_VERSION" -lt 56 ] && cargo update -p syn:2.0.33 --precise "2.0.32" --verbose + # The proc-macro2 crate switched to Rust edition 2021 starting with v1.0.66, i.e., has MSRV of 1.56 [ "$RUSTC_MINOR_VERSION" -lt 56 ] && cargo update -p proc-macro2 --precise "1.0.65" --verbose From 0d646b7c156aa4978593ee899ca3a354e290997f Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Thu, 14 Sep 2023 21:47:07 +0000 Subject: [PATCH 2/3] Drop `test_esplora_connects_to_public_server` `blockstream.info` is currently down, causing our CI to fail. This shouldn't really be a thing, so we drop the blockstream.info-based test here. More generally, I'm not really a fan of having tests which run (outside of CI) and call out to external servers - a developer working on LDK shouldn't have to have internet access to run our test suite and shouldn't be registering their presence with a third party to run our tests. --- .../tests/integration_tests.rs | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/lightning-transaction-sync/tests/integration_tests.rs b/lightning-transaction-sync/tests/integration_tests.rs index 151f986553f..617b1213e89 100644 --- a/lightning-transaction-sync/tests/integration_tests.rs +++ b/lightning-transaction-sync/tests/integration_tests.rs @@ -321,20 +321,3 @@ async fn test_esplora_syncs() { _ => panic!("Unexpected event"), } } - -#[tokio::test] -#[cfg(any(feature = "esplora-async-https", feature = "esplora-blocking"))] -async fn test_esplora_connects_to_public_server() { - let mut logger = TestLogger {}; - let esplora_url = "https://blockstream.info/api".to_string(); - let tx_sync = EsploraSyncClient::new(esplora_url, &mut logger); - let confirmable = TestConfirmable::new(); - - // Check we connect and pick up on new best blocks - assert_eq!(confirmable.best_block.lock().unwrap().1, 0); - #[cfg(feature = "esplora-async-https")] - tx_sync.sync(vec![&confirmable]).await.unwrap(); - #[cfg(feature = "esplora-blocking")] - tx_sync.sync(vec![&confirmable]).unwrap(); - assert_ne!(confirmable.best_block.lock().unwrap().1, 0); -} From ba12a86393f5938a3a20c198767519a79ccf8bd5 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Thu, 14 Sep 2023 21:49:14 +0000 Subject: [PATCH 3/3] Pin memchr in our release dependency list due to `core2` using it We're working with rust-bitcoin to remove the `core2` dependency at https://github.com/rust-bitcoin/rust-bitcoin/pull/2066 but until that lands and we can upgrade rust-bitcoin we're stuck with it. In the mean time, we should still pass our MSRV tests. --- ci/ci-tests.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ci/ci-tests.sh b/ci/ci-tests.sh index 74ba5a7da71..7b925cc8544 100755 --- a/ci/ci-tests.sh +++ b/ci/ci-tests.sh @@ -123,6 +123,10 @@ if [[ $RUSTC_MINOR_VERSION -gt 67 ]]; then # lightning-transaction-sync's MSRV is 1.67 cargo check --verbose --color always --features lightning-transaction-sync else + # The memchr crate switched to an MSRV of 1.60 starting with v2.6.0 + # This is currently only a release dependency via core2, which we intend to work with + # rust-bitcoin to remove soon. + [ "$RUSTC_MINOR_VERSION" -lt 60 ] && cargo update -p memchr --precise "2.5.0" --verbose cargo check --verbose --color always fi popd