language: rust # sudo is required to enable kcov to use the personality syscall sudo: required dist: trusty cache: cargo rust: - nightly - beta - stable - 1.31.0 env: matrix: - FEATURES='--features "regexp regexp_macros"' before_script: - eval git pull --rebase https://github.com/Geal/nom master - eval git log --pretty=oneline HEAD~5..HEAD matrix: include: - rust: nightly env: FEATURES='--no-default-features' - rust: nightly env: FEATURES='--no-default-features --features "alloc"' - rust: stable env: FEATURES='' - rust: nightly env: DOC_FEATURES='--features "std lexical regexp regexp_macros" --no-default-features' before_script: - export PATH=$HOME/.cargo/bin:$PATH script: - eval cargo doc --verbose $DOC_FEATURES - rust: nightly env: FEATURES='' before_script: - export PATH=$HOME/.cargo/bin:$PATH - cargo install cargo-update || echo "cargo-update already installed" - cargo install cargo-travis || echo "cargo-travis already installed" - cargo install-update -a - mkdir -p target/kcov-master script: cargo coveralls --verbose --all-features allow_failures: - rust: stable env: FEATURES='' before_script: - export PATH=$HOME/.cargo/bin:$PATH - rustup component add rustfmt-preview script: - eval cargo fmt -- --write-mode=diff notifications: webhooks: urls: - https://webhooks.gitter.im/e/9c035a194ac4fd4cc061 on_success: change on_failure: always on_start: false addons: apt: packages: - libcurl4-openssl-dev - libelf-dev - libdw-dev - binutils-dev - cmake sources: - kalakris-cmake cache: directories: - /home/travis/.cargo before_cache: - rm -rf /home/travis/.cargo/registry script: - eval cargo build --verbose $FEATURES - eval cargo test --verbose $FEATURES after_success: | case "$TRAVIS_RUST_VERSION" in nightly) if [ "${TRAVIS_PULL_REQUEST_BRANCH:-$TRAVIS_BRANCH}" != "master" ]; then git fetch && git checkout master && cargo bench --verbose fi if [ "$FEATURES" == '--features "regexp regexp_macros"' ]; then cargo bench --verbose fi ;; *) ;; esac