2018-03-05 20:17:42 +01:00
|
|
|
language: rust
|
|
|
|
rust:
|
|
|
|
- stable
|
2018-03-22 22:52:07 +01:00
|
|
|
- beta
|
2020-02-01 18:37:50 +01:00
|
|
|
# 1.22.0 is MSRV for rust-lightning in general:
|
2018-03-22 22:52:07 +01:00
|
|
|
- 1.22.0
|
2020-02-01 18:37:50 +01:00
|
|
|
# 1.34.2 is Debian stable
|
2019-07-19 23:58:08 +02:00
|
|
|
- 1.34.2
|
2020-02-01 18:37:50 +01:00
|
|
|
# 1.39.0 is MSRV for lightning-net-tokio and generates coverage
|
|
|
|
- 1.39.0
|
2018-03-05 20:17:42 +01:00
|
|
|
cache: cargo
|
2018-03-22 22:52:07 +01:00
|
|
|
|
|
|
|
before_install:
|
|
|
|
- sudo apt-get -qq update
|
2019-07-25 22:26:30 +02:00
|
|
|
- sudo apt-get install -y binutils-dev libunwind8-dev libcurl4-openssl-dev libelf-dev libdw-dev cmake gcc binutils-dev libiberty-dev
|
2018-03-22 22:52:07 +01:00
|
|
|
|
|
|
|
script:
|
2020-02-01 18:37:50 +01:00
|
|
|
# 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
|
2019-11-18 23:01:34 +01:00
|
|
|
- rm -f target/debug/lightning-* # Make sure we drop old test binaries
|
2020-02-01 18:37:50 +01:00
|
|
|
# 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
|
2019-11-18 23:01:34 +01:00
|
|
|
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
|