-
Notifications
You must be signed in to change notification settings - Fork 411
Move lightning-transaction-sync
tests to dedicated script
#3528
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
TheBlueMatt
merged 1 commit into
lightningdevkit:main
from
tnull:2025-01-introduce-secondary-msrv-1.75
Jan 14, 2025
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,6 @@ | |
set -eox pipefail | ||
|
||
RUSTC_MINOR_VERSION=$(rustc --version | awk '{ split($2,a,"."); print a[2] }') | ||
HOST_PLATFORM="$(rustc --version --verbose | grep "host:" | awk '{ print $2 }')" | ||
|
||
# Some crates require pinning to meet our MSRV even for our downstream users, | ||
# which we do here. | ||
|
@@ -11,19 +10,6 @@ function PIN_RELEASE_DEPS { | |
# Starting with version 1.39.0, the `tokio` crate has an MSRV of rustc 1.70.0 | ||
[ "$RUSTC_MINOR_VERSION" -lt 70 ] && cargo update -p tokio --precise "1.38.1" --verbose | ||
|
||
# Starting with version 0.7.12, the `tokio-util` crate has an MSRV of rustc 1.70.0 | ||
[ "$RUSTC_MINOR_VERSION" -lt 70 ] && cargo update -p tokio-util --precise "0.7.11" --verbose | ||
|
||
# url 2.5.3 switched to idna 1.0.3 and ICU4X, which requires rustc 1.67 or newer. | ||
# Here we opt to keep using unicode-rs by pinning idna_adapter as described here: https://docs.rs/crate/idna_adapter/1.2.0 | ||
[ "$RUSTC_MINOR_VERSION" -lt 67 ] && cargo update -p idna_adapter --precise "1.1.0" --verbose | ||
|
||
# indexmap 2.6.0 upgraded to hashbrown 0.15, which unfortunately bumped their MSRV to rustc 1.65 with the 0.15.1 release (and 2.7.0 was released since). | ||
[ "$RUSTC_MINOR_VERSION" -lt 65 ] && cargo update -p [email protected] --precise "2.5.0" --verbose | ||
|
||
# Starting with version 0.23.20, the `rustls` crate has an MSRV of rustc 1.71.0 | ||
[ "$RUSTC_MINOR_VERSION" -lt 71 ] && cargo update -p [email protected] --precise "0.23.19" --verbose | ||
|
||
return 0 # Don't fail the script if our rustc is higher than the last check | ||
} | ||
|
||
|
@@ -35,15 +21,12 @@ PIN_RELEASE_DEPS # pin the release dependencies in our main workspace | |
# The addr2line v0.21 crate (a dependency of `backtrace` starting with 0.3.69) relies on rustc 1.65 | ||
[ "$RUSTC_MINOR_VERSION" -lt 65 ] && cargo update -p backtrace --precise "0.3.68" --verbose | ||
|
||
# Starting with version 0.5.9 (there is no .6-.8), the `home` crate has an MSRV of rustc 1.70.0. | ||
[ "$RUSTC_MINOR_VERSION" -lt 70 ] && cargo update -p home --precise "0.5.5" --verbose | ||
|
||
# proptest 1.3.0 requires rustc 1.64.0 | ||
[ "$RUSTC_MINOR_VERSION" -lt 64 ] && cargo update -p proptest --precise "1.2.0" --verbose | ||
|
||
export RUST_BACKTRACE=1 | ||
|
||
echo -e "\n\nChecking the full workspace." | ||
echo -e "\n\nChecking the workspace, except lightning-transaction-sync." | ||
cargo check --verbose --color always | ||
|
||
# When the workspace members change, make sure to update the list here as well | ||
|
@@ -58,7 +41,6 @@ WORKSPACE_MEMBERS=( | |
lightning-background-processor | ||
lightning-rapid-gossip-sync | ||
lightning-custom-message | ||
lightning-transaction-sync | ||
lightning-macros | ||
lightning-dns-resolver | ||
lightning-liquidity | ||
|
@@ -83,25 +65,6 @@ cargo check -p lightning-block-sync --verbose --color always --features rpc-clie | |
cargo test -p lightning-block-sync --verbose --color always --features rpc-client,rest-client,tokio | ||
cargo check -p lightning-block-sync --verbose --color always --features rpc-client,rest-client,tokio | ||
|
||
if [[ "$HOST_PLATFORM" != *windows* ]]; then | ||
echo -e "\n\nChecking Transaction Sync Clients with features." | ||
cargo check -p lightning-transaction-sync --verbose --color always --features esplora-blocking | ||
cargo check -p lightning-transaction-sync --verbose --color always --features esplora-async | ||
cargo check -p lightning-transaction-sync --verbose --color always --features esplora-async-https | ||
cargo check -p lightning-transaction-sync --verbose --color always --features electrum | ||
|
||
if [ -z "$CI_ENV" ] && [[ -z "$BITCOIND_EXE" || -z "$ELECTRS_EXE" ]]; then | ||
echo -e "\n\nSkipping testing Transaction Sync Clients due to BITCOIND_EXE or ELECTRS_EXE being unset." | ||
cargo check -p lightning-transaction-sync --tests | ||
else | ||
echo -e "\n\nTesting Transaction Sync Clients with features." | ||
cargo test -p lightning-transaction-sync --verbose --color always --features esplora-blocking | ||
cargo test -p lightning-transaction-sync --verbose --color always --features esplora-async | ||
cargo test -p lightning-transaction-sync --verbose --color always --features esplora-async-https | ||
cargo test -p lightning-transaction-sync --verbose --color always --features electrum | ||
fi | ||
fi | ||
|
||
echo -e "\n\nTest futures builds" | ||
cargo test -p lightning-background-processor --verbose --color always --features futures | ||
cargo test -p lightning-background-processor --verbose --color always --features futures --no-default-features | ||
|
@@ -145,7 +108,7 @@ cargo test -p lightning-invoice --verbose --color always --no-default-features - | |
echo -e "\n\nTesting no_std build on a downstream no-std crate" | ||
# check no-std compatibility across dependencies | ||
pushd no-std-check | ||
cargo check --verbose --color always --features lightning-transaction-sync | ||
cargo check --verbose --color always | ||
[ "$CI_MINIMIZE_DISK_USAGE" != "" ] && cargo clean | ||
popd | ||
|
||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
#!/bin/bash | ||
set -eox pipefail | ||
|
||
RUSTC_MINOR_VERSION=$(rustc --version | awk '{ split($2,a,"."); print a[2] }') | ||
|
||
pushd lightning-transaction-sync | ||
|
||
# Some crates require pinning to meet our MSRV even for our downstream users, | ||
# which we do here. | ||
# Further crates which appear only as dev-dependencies are pinned further down. | ||
function PIN_RELEASE_DEPS { | ||
return 0 # Don't fail the script if our rustc is higher than the last check | ||
} | ||
|
||
PIN_RELEASE_DEPS # pin the release dependencies | ||
|
||
# Starting with version 0.5.11, the `home` crate has an MSRV of rustc 1.81.0. | ||
[ "$RUSTC_MINOR_VERSION" -lt 81 ] && cargo update -p home --precise "0.5.9" --verbose | ||
|
||
export RUST_BACKTRACE=1 | ||
|
||
echo -e "\n\nChecking Transaction Sync Clients with features." | ||
cargo check --verbose --color always --features esplora-blocking | ||
cargo check --verbose --color always --features esplora-async | ||
cargo check --verbose --color always --features esplora-async-https | ||
cargo check --verbose --color always --features electrum | ||
|
||
if [ -z "$CI_ENV" ] && [[ -z "$BITCOIND_EXE" || -z "$ELECTRS_EXE" ]]; then | ||
echo -e "\n\nSkipping testing Transaction Sync Clients due to BITCOIND_EXE or ELECTRS_EXE being unset." | ||
cargo check --tests | ||
else | ||
echo -e "\n\nTesting Transaction Sync Clients with features." | ||
cargo test --verbose --color always --features esplora-blocking | ||
cargo test --verbose --color always --features esplora-async | ||
cargo test --verbose --color always --features esplora-async-https | ||
cargo test --verbose --color always --features electrum | ||
fi | ||
|
||
popd |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.