language: rust sudo: required dist: trusty cache: cargo: true apt: true matrix: include: - rust: stable - rust: beta - rust: nightly-2019-04-02 allow_failures: - rust: nightly-2019-04-02 env: global: # - RUSTFLAGS="-C link-dead-code" - OPENSSL_VERSION=openssl-1.0.2 before_install: - sudo add-apt-repository -y ppa:0k53d-karl-f830m/openssl - sudo apt-get update -qq - sudo apt-get install -y openssl libssl-dev libelf-dev libdw-dev cmake gcc binutils-dev libiberty-dev before_cache: | if [[ "$TRAVIS_RUST_VERSION" == "nightly-2019-04-02" ]]; then RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo install cargo-tarpaulin fi # Add clippy before_script: - export PATH=$PATH:~/.cargo/bin script: - cargo update - cargo check --all --no-default-features - cargo test --all-features --all -- --nocapture # Upload docs after_success: - | if [[ "$TRAVIS_OS_NAME" == "linux" && "$TRAVIS_PULL_REQUEST" = "false" && "$TRAVIS_BRANCH" == "master" && "$TRAVIS_RUST_VERSION" == "stable" ]]; then cargo doc --all-features && echo "" > target/doc/index.html && git clone https://github.com/davisp/ghp-import.git && ./ghp-import/ghp_import.py -n -p -f -m "Documentation upload" -r https://"$GH_TOKEN"@github.com/"$TRAVIS_REPO_SLUG.git" target/doc && echo "Uploaded documentation" fi - | if [[ "$TRAVIS_RUST_VERSION" == "nightly-2019-04-02" ]]; then taskset -c 0 cargo tarpaulin --out Xml --all --all-features bash <(curl -s https://codecov.io/bash) echo "Uploaded code coverage" fi