mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-01-19 05:43:55 +01:00
c5fb57269f
This disables building the lightning-net-tokio crate on 1.34.2 on Travis in anticiption of relying on async/await for lightning-net-tokio, with the nice side-effect of reducing the amount of work done on our slowest Travis job. This also adds 1.39.0 to Travis as that is the new MSRV for lightning-net-tokio and uses that for codecov generation. This also moves fuzzing to Rust stable, as honggfuzz broke its MSRV and it seems likely it will again in the future.
45 lines
2.2 KiB
YAML
45 lines
2.2 KiB
YAML
language: rust
|
|
rust:
|
|
- stable
|
|
- beta
|
|
# 1.22.0 is MSRV for rust-lightning in general:
|
|
- 1.22.0
|
|
# 1.34.2 is Debian stable
|
|
- 1.34.2
|
|
# 1.39.0 is MSRV for lightning-net-tokio and generates coverage
|
|
- 1.39.0
|
|
cache: cargo
|
|
|
|
before_install:
|
|
- sudo apt-get -qq update
|
|
- 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
|
|
- 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 build --verbose; fi
|
|
- if [ "$BUILD_NET_TOKIO" != "1" ]; then RUSTFLAGS="-C link-dead-code" cargo build --verbose -p lightning; fi
|
|
- rm -f target/debug/lightning-* # Make sure we drop old test binaries
|
|
# Test the appropriate workspace(s)
|
|
- if [ "$BUILD_NET_TOKIO" == "1" ]; then RUSTFLAGS="-C link-dead-code" cargo test --verbose; fi
|
|
- 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 && ./travis-fuzz.sh; 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 &&
|
|
tar xzf master.tar.gz &&
|
|
cd kcov-master &&
|
|
mkdir build &&
|
|
cd build &&
|
|
cmake .. &&
|
|
make &&
|
|
make install DESTDIR=../../kcov-build &&
|
|
cd ../.. &&
|
|
rm -rf kcov-master &&
|
|
for file in target/debug/lightning-*; do [ -x "${file}" ] || continue; mkdir -p "target/cov/$(basename $file)"; ./kcov-build/usr/local/bin/kcov --exclude-pattern=/.cargo,/usr/lib --verify "target/cov/$(basename $file)" "$file"; done &&
|
|
bash <(curl -s https://codecov.io/bash) &&
|
|
echo "Uploaded code coverage"; fi
|