2018-02-14 13:19:30 -08:00
|
|
|
language: rust
|
|
|
|
matrix:
|
|
|
|
allow_failures:
|
|
|
|
- rust: nightly
|
|
|
|
include:
|
2018-02-15 14:26:45 -08:00
|
|
|
- rust: stable
|
2018-02-14 13:19:30 -08:00
|
|
|
- rust: nightly
|
|
|
|
env:
|
|
|
|
- FEATURES='unstable'
|
|
|
|
cache: cargo
|
2018-02-15 15:09:11 -08:00
|
|
|
before_script: |
|
|
|
|
export PATH="$PATH:$HOME/.cargo/bin"
|
|
|
|
rustup component add rustfmt-preview
|
|
|
|
PKGNAME="phist" # must match with cargo.toml
|
|
|
|
LOCAL="~/.local" # install here to avoid `sudo`
|
|
|
|
export PATH=$LOCAL/bin:$PATH
|
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- libcurl4-openssl-dev
|
|
|
|
- libelf-dev
|
|
|
|
- libdw-dev
|
|
|
|
- binutils-dev # required for `--verify`
|
2018-02-14 13:19:30 -08:00
|
|
|
script:
|
|
|
|
- cargo fmt -- --write-mode=diff
|
|
|
|
- cargo build --verbose --features "$FEATURES"
|
|
|
|
- cargo test --verbose --features "$FEATURES"
|
2018-02-15 15:09:11 -08:00
|
|
|
after_success: |
|
|
|
|
wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz &&
|
|
|
|
tar xzf master.tar.gz && mkdir kcov-master/build && cd kcov-master/build &&
|
|
|
|
cmake -DCMAKE_INSTALL_PREFIX:PATH=$LOCAL .. && make &&
|
|
|
|
make install && cd ../.. &&
|
|
|
|
|
|
|
|
kcov --verify \
|
|
|
|
--exclude-pattern=/.cargo \
|
|
|
|
target/kcov target/debug/$PKGNAME-*
|
|
|
|
|
|
|
|
bash <(curl -s https://codecov.io/bash) -s target/kcov
|