X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=.github%2Fworkflows%2Fbuild.yml;h=50a3b7c04218d7c6c68655410ee9c1f9badc84e4;hb=c8b51228d6c7012659aa4b4a37591dc27222937c;hp=64627bf087a3f9bc3d1cf4ca51b7b368ef4ea4c8;hpb=de1e58e1cb775d9ccf4cda7169727d9ef25113aa;p=rust-lightning diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 64627bf0..50a3b7c0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,7 +7,7 @@ jobs: 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 @@ -17,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 @@ -44,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: | @@ -90,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