language: rust
cache: cargo
addons:
apt:
packages:
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
rust:
- nightly
- beta
- stable
- 1.2.0
env:
- FEATURES="--features \"regexp regexp_macros\""
- FEATURES="--features \"stream regexp regexp_macros\""
- FEATURES="--features \"stream regexp regexp_macros\" --no-default-features"
before_script:
- pip install 'travis-cargo<0.2' --user && export PATH=$HOME/.local/bin:$PATH
- if [ "$TRAVIS_RUST_VERSION" != "1.2.0" ]; then
cargo install cargo-travis --force && export PATH=$HOME/.cargo/bin:$PATH;
fi
script:
- travis-cargo --only 1.2 test -- --features regexp
- travis-cargo --only nightly build -- --features "nightly core regexp"
- travis-cargo --only stable test -- $FEATURES
- travis-cargo --only beta test -- $FEATURES
- travis-cargo --only nightly test -- $FEATURES
- travis-cargo bench
- travis-cargo --only stable doc -- --features "stream regexp regexp_macros" --no-default-features
after_success:
- travis-cargo bench
- if [ "$TRAVIS_RUST_VERSION" != "1.2.0" ]; then
cargo coveralls --verbose;
fi
- if [ "$TRAVIS_RUST_VERSION" == "nightly" ]; then
cargo bench;
fi
- if [ "${TRAVIS_PULL_REQUEST_BRANCH:-$TRAVIS_BRANCH}" != "master" ] && [ "$TRAVIS_RUST_VERSION" == "nightly" ]; then
cargo install cargo-benchcmp --force;
cargo bench > benches-variable;
git fetch;
git checkout master;
cargo bench > benches-control;
cargo benchcmp benches-control benches-variable;
fi
notifications:
webhooks:
urls:
- https://webhooks.gitter.im/e/9c035a194ac4fd4cc061
on_success: change
on_failure: always
on_start: false
env:
global:
- TRAVIS_CARGO_NIGHTLY_FEATURE=nightly
dist: trusty
sudo: false
addons:
apt:
packages:
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
- binutils-dev
- cmake
sources:
- kalakris-cmake