| sudo: true |
| language: rust |
| cache: cargo |
| rust: |
| - nightly |
| - beta |
| - stable |
| - 1.31.0 |
| matrix: |
| allow_failures: |
| - rust: nightly |
| before_script: |
| - | |
| pip install git+git://github.com/kbknapp/travis-cargo.git --user && |
| export PATH=$HOME/.local/bin:$PATH |
| - | |
| if [[ "$TRAVIS_RUST_VERSION" == "1.13.0" ]]; then |
| echo "Old Rust detected, removing version-sync dependency" |
| sed -i "/^version-sync =/d" Cargo.toml |
| rm "tests/version-numbers.rs" |
| fi |
| script: |
| - | |
| travis-cargo --only stable test -- --verbose --no-default-features && |
| travis-cargo --skip nightly test -- --verbose --features "yaml unstable" && |
| travis-cargo --only nightly test -- --verbose --features "yaml unstable nightly" && |
| travis-cargo --only nightly bench -- --no-run |
| addons: |
| apt: |
| packages: |
| - binutils-dev |
| - libcurl4-openssl-dev |
| - libelf-dev |
| - libdw-dev |
| - libiberty-dev |
| - cmake |
| - gcc |
| - zlib1g-dev |
| after_success: |
| - | |
| wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz && |
| tar xzf master.tar.gz && |
| cd kcov-master && |
| mkdir build && |
| cd build && |
| cmake .. && |
| make && |
| sudo make install && |
| cd ../.. && |
| rm -rf kcov-master && |
| cargo clean && |
| cargo test --no-run --features "yaml unstable" && |
| for file in target/debug/*-*; do mkdir -p "target/cov/$(basename $file)"; kcov --exclude-pattern=/.cargo --verify "target/cov/$(basename $file)" "$file"; done && |
| kcov --coveralls-id=$TRAVIS_JOB_ID --merge target/cov target/cov/* && |
| echo "Uploaded code coverage" |
| env: |
| global: |
| - TRAVIS_CARGO_NIGHTLY_FEATURE=lints |
| - secure: JLBlgHY6OEmhJ8woewNJHmuBokTNUv7/WvLkJGV8xk0t6bXBwSU0jNloXwlH7FiQTc4TccX0PumPDD4MrMgxIAVFPmmmlQOCmdpYP4tqZJ8xo189E5zk8lKF5OyaVYCs5SMmFC3cxCsKjfwGIexNu3ck5Uhwe9jI0tqgkgM3URA= |