X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=.github%2Fworkflows%2Fbuild.yml;h=100441d2be200cb85e6e70b296691851f9edb818;hb=73306a3503e1c266e26e401ceb53fa930cc0c990;hp=f729cecc01218fb54839c555c18c64ce36d36395;hpb=33720b07a06e70cef099639d054aada6bb96a3d5;p=rust-lightning diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f729cecc..100441d2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,9 +15,7 @@ jobs: # 1.45.2 is MSRV for lightning-net-tokio, lightning-block-sync, lightning-background-processor 1.45.2, # 1.47.0 will be the MSRV for no-std builds using hashbrown once core2 is updated - 1.47.0, - # 1.59.0 is the MSRV for lightning-transaction-sync - 1.59.0] + 1.47.0] include: - toolchain: stable build-net-tokio: true @@ -31,6 +29,8 @@ jobs: build-no-std: true build-futures: true build-tx-sync: true + - toolchain: stable + test-custom-message: true - toolchain: beta platform: macos-latest build-net-tokio: true @@ -54,6 +54,8 @@ jobs: build-no-std: true build-futures: true build-tx-sync: true + - toolchain: beta + test-custom-message: true - toolchain: 1.41.1 build-no-std: false test-log-variants: true @@ -69,11 +71,6 @@ jobs: build-futures: true build-no-std: true build-tx-sync: false - - toolchain: 1.59.0 - build-net-tokio: false - build-no-std: false - build-futures: false - build-tx-sync: true runs-on: ${{ matrix.platform }} steps: - name: Checkout source code @@ -89,10 +86,15 @@ jobs: run: cargo update -p tokio --precise "1.14.0" --verbose env: CARGO_NET_GIT_FETCH_WITH_CLI: "true" - - name: Build on Rust ${{ matrix.toolchain }} with net-tokio and tx-sync - if: "matrix.build-net-tokio && !matrix.coverage && matrix.build-tx-sync" + - name: Pin tokio to 1.26 for Windows + if: "matrix.platform == 'windows-latest'" + run: cargo update -p tokio --precise "1.26.0" --verbose + env: + CARGO_NET_GIT_FETCH_WITH_CLI: "true" + - name: Build on Rust ${{ matrix.toolchain }} with net-tokio + if: "matrix.build-net-tokio && !matrix.coverage" run: cargo build --verbose --color always - - name: Build on Rust ${{ matrix.toolchain }} with net-tokio, tx-sync, and full code-linking for coverage generation + - name: Build on Rust ${{ matrix.toolchain }} with net-tokio, and full code-linking for coverage generation if: matrix.coverage run: RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always - name: Build on Rust ${{ matrix.toolchain }} @@ -130,26 +132,30 @@ jobs: cd lightning-transaction-sync cargo build --verbose --color always --features esplora-blocking cargo build --verbose --color always --features esplora-async + cargo build --verbose --color always --features esplora-async-https - name: Build transaction sync clients on Rust ${{ matrix.toolchain }} with features and full code-linking for coverage generation if: "matrix.build-tx-sync && matrix.coverage" run: | cd lightning-transaction-sync RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features esplora-blocking RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features esplora-async + RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features esplora-async-https - name: Test transaction sync clients on Rust ${{ matrix.toolchain }} with features if: "matrix.build-tx-sync" run: | cd lightning-transaction-sync 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 - name: Test backtrace-debug builds on Rust ${{ matrix.toolchain }} if: "matrix.toolchain == 'stable'" + shell: bash # Default on Winblows is powershell run: | - cd lightning && cargo test --verbose --color always --features backtrace + cd lightning && RUST_BACKTRACE=1 cargo test --verbose --color always --features backtrace - name: Test on Rust ${{ matrix.toolchain }} with net-tokio - if: "matrix.build-net-tokio && !matrix.coverage && matrix.build-tx-sync" + if: "matrix.build-net-tokio && !matrix.coverage" run: cargo test --verbose --color always - - name: Test on Rust ${{ matrix.toolchain }} with net-tokio, tx-sync, and full code-linking for coverage generation + - name: Test on Rust ${{ matrix.toolchain }} with net-tokio, and full code-linking for coverage generation if: matrix.coverage run: RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always - name: Test no-std builds on Rust ${{ matrix.toolchain }} @@ -170,7 +176,7 @@ jobs: done # check no-std compatibility across dependencies cd no-std-check - cargo check --verbose --color always + cargo check --verbose --color always --features lightning-transaction-sync - name: Build no-std-check on Rust ${{ matrix.toolchain }} for ARM Embedded if: "matrix.build-no-std && matrix.platform == 'ubuntu-latest'" run: | @@ -226,6 +232,11 @@ jobs: RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always --features rpc-client RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always --features rpc-client,rest-client RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always --features rpc-client,rest-client,tokio + - name: Test Custom Message Macros on Rust ${{ matrix.toolchain }} + if: "matrix.test-custom-message" + run: | + cd lightning-custom-message + cargo test --verbose --color always - name: Install deps for kcov if: matrix.coverage run: |