X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=.github%2Fworkflows%2Fbuild.yml;h=100441d2be200cb85e6e70b296691851f9edb818;hb=73306a3503e1c266e26e401ceb53fa930cc0c990;hp=340b7f898d9ded31ba5b035e71fcf0ca83924419;hpb=608c8adfd575ffb26d4485ebd74f42aabc64c6ad;p=rust-lightning diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 340b7f89..100441d2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ jobs: beta, # 1.41.1 is MSRV for Rust-Lightning, lightning-invoice, and lightning-persister 1.41.1, - # 1.45.2 is MSRV for lightning-net-tokio, lightning-block-sync, lightning-background-processor, and coverage generation + # 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] @@ -21,43 +21,56 @@ jobs: build-net-tokio: true build-no-std: true build-futures: true + build-tx-sync: true + coverage: true - toolchain: stable platform: macos-latest build-net-tokio: true 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 build-no-std: true build-futures: true + build-tx-sync: true - toolchain: stable platform: windows-latest build-net-tokio: true build-no-std: true build-futures: true + build-tx-sync: false - toolchain: beta platform: windows-latest build-net-tokio: true build-no-std: true build-futures: true + build-tx-sync: false - toolchain: beta build-net-tokio: true 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 build-futures: false + build-tx-sync: false - toolchain: 1.45.2 build-net-old-tokio: true build-net-tokio: true build-no-std: false build-futures: true - coverage: true + build-tx-sync: false - toolchain: 1.47.0 build-futures: true build-no-std: true + build-tx-sync: false runs-on: ${{ matrix.platform }} steps: - name: Checkout source code @@ -73,10 +86,15 @@ jobs: run: cargo update -p tokio --precise "1.14.0" --verbose env: CARGO_NET_GIT_FETCH_WITH_CLI: "true" + - 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 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 }} @@ -108,14 +126,36 @@ jobs: RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features rpc-client RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features rpc-client,rest-client RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features rpc-client,rest-client,tokio + - name: Build Transaction Sync Clients on Rust ${{ matrix.toolchain }} with features + if: "matrix.build-tx-sync && !matrix.coverage" + run: | + 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" run: cargo test --verbose --color always - - name: Test on Rust ${{ matrix.toolchain }} with net-tokio 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 }} @@ -136,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: | @@ -192,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: | @@ -349,7 +394,7 @@ jobs: linting: runs-on: ubuntu-latest env: - TOOLCHAIN: 1.47.0 + TOOLCHAIN: stable steps: - name: Checkout source code uses: actions/checkout@v3