X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=.travis.yml;h=308c8d634d72debda99c692e549f8446a9c5a48f;hb=0c595a7ff69bd177b2e7fa8c1b3611f1b2df8f58;hp=6a21dfa0b3a14d19d726756b5f3437b562933495;hpb=2188192efab5122dcca4792b96defe7fa97a4a2f;p=rust-lightning diff --git a/.travis.yml b/.travis.yml index 6a21dfa0..308c8d63 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,13 +3,36 @@ 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 + - sudo apt-get install -y binutils-dev libunwind8-dev libcurl4-openssl-dev libelf-dev libdw-dev cmake gcc binutils-dev libiberty-dev script: - - cargo build --verbose - - cargo test --verbose - - if [ "$(rustup show | grep default | grep stable)" != "" ]; then cd fuzz && cargo test --verbose && ./travis-fuzz.sh; fi + # 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