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
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
- 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: |