X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=.github%2Fworkflows%2Fbuild.yml;h=20ca306b18dcd7e185a1cc629012a6ce1ec7da4c;hb=refs%2Fheads%2F2021-12-0.0.104-bindings;hp=f18f3f64d78eda3c96ec61b56f42ea506dc463d2;hpb=32d13a2ff8796c2edf2177751eab02242ae10216;p=rust-lightning diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f18f3f64..20ca306b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,23 +26,33 @@ jobs: platform: macos-latest build-net-tokio: true build-no-std: true + - toolchain: beta + platform: macos-latest + build-net-tokio: true + build-no-std: true - toolchain: stable platform: windows-latest build-net-tokio: true build-no-std: true + - toolchain: beta + platform: windows-latest + build-net-tokio: true + build-no-std: true - toolchain: beta build-net-tokio: true build-no-std: true - toolchain: 1.36.0 build-no-std: false + test-log-variants: true - toolchain: 1.41.0 build-no-std: false - toolchain: 1.45.2 + build-net-old-tokio: true build-net-tokio: true build-no-std: false coverage: true - toolchain: 1.47.0 - build-no-std: false + build-no-std: true runs-on: ${{ matrix.platform }} steps: - name: Checkout source code @@ -53,6 +63,9 @@ jobs: toolchain: ${{ matrix.toolchain }} override: true profile: minimal + - name: Pin tokio to 1.14 for Rust 1.45 + if: "matrix.build-net-old-tokio" + run: cargo update -p tokio --precise "1.14.0" --verbose - name: Build on Rust ${{ matrix.toolchain }} with net-tokio if: "matrix.build-net-tokio && !matrix.coverage" run: cargo build --verbose --color always @@ -65,6 +78,13 @@ jobs: cargo build --verbose --color always -p lightning cargo build --verbose --color always -p lightning-invoice cargo build --verbose --color always -p lightning-persister + - name: Build on Rust ${{ matrix.toolchain }} with all Log-Limiting features + if: matrix.test-log-variants + run: | + cd lightning + for FEATURE in $(cat Cargo.toml | grep '^max_level_' | awk '{ print $1 }'); do + cargo build --verbose --color always --features $FEATURE + done - name: Build Block Sync Clients on Rust ${{ matrix.toolchain }} with features if: "matrix.build-net-tokio && !matrix.coverage" run: | @@ -107,6 +127,14 @@ jobs: cargo test --verbose --color always -p lightning cargo test --verbose --color always -p lightning-invoice cargo build --verbose --color always -p lightning-persister + cargo build --verbose --color always -p lightning-background-processor + - name: Test C Bindings Modifications on Rust ${{ matrix.toolchain }} + if: "! matrix.build-net-tokio" + run: | + RUSTFLAGS="--cfg=c_bindings" cargo test --verbose --color always -p lightning + RUSTFLAGS="--cfg=c_bindings" cargo test --verbose --color always -p lightning-invoice + RUSTFLAGS="--cfg=c_bindings" cargo build --verbose --color always -p lightning-persister + RUSTFLAGS="--cfg=c_bindings" cargo build --verbose --color always -p lightning-background-processor - name: Test Block Sync Clients on Rust ${{ matrix.toolchain }} with features if: "matrix.build-net-tokio && !matrix.coverage" run: | @@ -148,7 +176,7 @@ jobs: done - name: Upload coverage if: matrix.coverage - uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@v2 with: # Could you use this to fake the coverage report for your PR? Sure. # Will anyone be impressed by your amazing coverage? No @@ -247,7 +275,7 @@ jobs: linting: runs-on: ubuntu-latest env: - TOOLCHAIN: 1.45.2 + TOOLCHAIN: 1.47.0 steps: - name: Checkout source code uses: actions/checkout@v2 @@ -262,4 +290,4 @@ jobs: rustup component add clippy - name: Run default clippy linting run: | - cargo clippy -- -Aclippy::erasing_op -Aclippy::never_loop -Aclippy::if_same_then_else + cargo clippy -- -Aclippy::erasing_op -Aclippy::never_loop -Aclippy::if_same_then_else -Dclippy::try_err