X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=.github%2Fworkflows%2Fbuild.yml;h=50a3b7c04218d7c6c68655410ee9c1f9badc84e4;hb=c8b51228d6c7012659aa4b4a37591dc27222937c;hp=98f4f19a4d6a898f78859c2aa4d1466beee1cf88;hpb=86a2607b008ed9bf95e89562a1822bcbfcfdcdb0;p=rust-lightning diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 98f4f19a..50a3b7c0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,14 +1,13 @@ name: Continuous Integration Checks -on: - push: +on: [push, pull_request] jobs: build: strategy: matrix: toolchain: [ stable, - beta, + nightly, # 1.22.0 is MSRV for rust-lightning in general: 1.22.0, # 1.34.2 is Debian stable @@ -18,8 +17,9 @@ jobs: include: - toolchain: stable build-net-tokio: true - - toolchain: beta + - toolchain: nightly build-net-tokio: true + run-mutagen: true - toolchain: 1.39.0 build-net-tokio: true coverage: true @@ -45,6 +45,16 @@ jobs: - name: Test on Rust ${{ matrix.toolchain }} if: "! matrix.build-net-tokio" run: RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always -p lightning + - name: Run mutagen tests on ${{ matrix.toolchain }} + if: matrix.run-mutagen + # Run mutagen on nightly with TheBlueMatt's fork which exits with non-0 status + # if any mutations resulted in anything except test failures to prevent regressions. + run: | + rm -rf mutagen && git clone https://github.com/TheBlueMatt/mutagen + cargo install --force --path mutagen/mutagen-runner + cd lightning + ~/.cargo/bin/cargo-mutagen --features mutation_testing + # Generate code cov information on Rust 1.39.0 - name: Install deps for kcov if: matrix.coverage run: | @@ -91,7 +101,7 @@ jobs: run: | sudo apt-get update sudo apt-get -y install build-essential binutils-dev libunwind-dev - - name: Fuzz test on Rust ${{ matrix.TOOLCHAIN }} + - name: Sanity check fuzz targets on Rust ${{ env.TOOLCHAIN }} run: cd fuzz && cargo test --verbose --color always - - name: Generate fuzz report + - name: Run fuzzers run: cd fuzz && ./ci-fuzz.sh