sudo: true language: rust cache: cargo rust: - nightly - nightly-2017-10-11 - beta - stable - 1.20.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 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 addons: apt: packages: - libcurl4-openssl-dev - libelf-dev - libdw-dev - cmake - gcc - binutils-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=