language: rust
rust:
- stable
- - beta
+ - nightly
# 1.22.0 is MSRV for rust-lightning in general:
- 1.22.0
# 1.34.2 is Debian stable
- sudo apt-get install -y binutils-dev libunwind8-dev libcurl4-openssl-dev libelf-dev libdw-dev cmake gcc binutils-dev libiberty-dev
script:
- # Support lightning-net-tokio only on Rust stable, beta, and 1.39.0
+ # Support lightning-net-tokio only on Rust stable, nightly, and 1.39.0
- if [ "$(rustup show | grep default | grep '1.39.0')" != "" ]; then export BUILD_NET_TOKIO=1; fi
- if [ "$(rustup show | grep default | grep '1\.')" == "" ]; then export BUILD_NET_TOKIO=1; fi
# Build the appropriate workspace(s)
- if [ "$BUILD_NET_TOKIO" != "1" ]; then RUSTFLAGS="-C link-dead-code" cargo test --verbose -p lightning; fi
# Run lightning workspace fuzz tests on Rust stable
- if [ "$(rustup show | grep default | grep stable)" != "" ]; then cd fuzz && cargo test --verbose && ./ci-fuzz.sh; fi
+ # 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.
+ - if [ "$(rustup show | grep default | grep nightly)" != "" ]; then
+ 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; fi
# Generate code cov information on Rust 1.39.0
- if [ "$(rustup show | grep default | grep 1.39.0)" != "" ]; then
wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz &&