diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 474cadda8c3..2ff3edf35b3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -57,7 +57,7 @@ jobs: - name: Run CI script if: "!matrix.coverage" shell: bash # Default on Winblows is powershell - run: ./ci/ci-tests.sh + run: CI_MINIMIZE_DISK_USAGE=1 ./ci/ci-tests.sh - name: Install deps for kcov if: matrix.coverage run: | diff --git a/ci/ci-tests.sh b/ci/ci-tests.sh index 7a16b749200..dc52d0e6e9d 100755 --- a/ci/ci-tests.sh +++ b/ci/ci-tests.sh @@ -29,11 +29,20 @@ 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 +if [ "$RUSTC_MINOR_VERSION" -lt 56 ]; then + SYN_2_DEP=$(grep -o '"syn 2.*' Cargo.lock | tr -d '",' | tr ' ' ':') + cargo update -p "$SYN_2_DEP" --precise "2.0.32" --verbose +fi + # 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 [ "$LDK_COVERAGE_BUILD" != "" ] && export RUSTFLAGS="-C link-dead-code" +# The memchr crate switched to an MSRV of 1.60 starting with v2.6.0 +[ "$RUSTC_MINOR_VERSION" -lt 60 ] && cargo update -p memchr --precise "2.5.0" --verbose + export RUST_BACKTRACE=1 echo -e "\n\nBuilding and testing all workspace crates..." @@ -81,13 +90,20 @@ 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 +[ "$CI_MINIMIZE_DISK_USAGE" != "" ] && cargo clean popd # Test that we can build downstream code with only the "release pins". pushd msrv-no-dev-deps-check PIN_RELEASE_DEPS +# The memchr crate switched to an MSRV of 1.60 starting with v2.6.0 +[ "$RUSTC_MINOR_VERSION" -lt 60 ] && cargo update -p memchr --precise "2.5.0" --verbose cargo check popd