X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=.travis.yml;h=308c8d634d72debda99c692e549f8446a9c5a48f;hb=0c595a7ff69bd177b2e7fa8c1b3611f1b2df8f58;hp=d36f12aa7425b0682f45f13731a423e182440dc8;hpb=8e482ce9d8482a6f07cb20fb54d74a7a282d8b6c;p=rust-lightning diff --git a/.travis.yml b/.travis.yml index d36f12aa..308c8d63 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,38 @@ language: rust rust: - stable + - beta + - 1.22.0 + - 1.34.2 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: + # Build workspaces with Rust stable, beta, and 1.34.0 + - if [ "$(rustup show | grep default | grep 1.22.0)" == "" ]; then RUSTFLAGS="-C link-dead-code" cargo build --verbose; fi + # Build lightning workspace with Rust 1.22.0 + - if [ "$(rustup show | grep default | grep 1.22.0)" != "" ]; 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 workspaces for Rust stable, beta, and 1.34.2 + - if [ "$(rustup show | grep default | grep 1.22.0)" == "" ]; then RUSTFLAGS="-C link-dead-code" cargo test --verbose; fi + # Test lightning workspace for 1.22.0 + - if [ "$(rustup show | grep default | grep 1.22.0)" != "" ]; then RUSTFLAGS="-C link-dead-code" cargo test --verbose -p lightning; fi + # Run lightning workspace fuzz tests for Rust 1.34.2 + - if [ "$(rustup show | grep default | grep 1.34.2)" != "" ]; then cd fuzz && cargo test --verbose && ./travis-fuzz.sh; fi + - if [ "$(rustup show | grep default | grep stable)" != "" ]; 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