Explicit pass index at HTLC spending transaction signing
[rust-lightning] / .travis.yml
index 6a21dfa0b3a14d19d726756b5f3437b562933495..308c8d634d72debda99c692e549f8446a9c5a48f 100644 (file)
@@ -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