| sudo: false |
| language: rust |
| matrix: |
| fast_finish: true |
| include: |
| - rust: nightly |
| - rust: nightly |
| os: osx |
| - rust: beta |
| - rust: beta |
| os: osx |
| - rust: stable |
| - rust: stable |
| os: osx |
| allow_failures: |
| - rust: nightly |
| |
| before_cache: |
| # Travis can't cache files that are not readable by "others" |
| - chmod -R a+r $HOME/.cargo |
| |
| before_install: |
| # install kcov |
| - > |
| if [ ! -d "$HOME/.kcov/bin" ]; then |
| wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz && |
| tar xzf master.tar.gz && mkdir kcov-master/build && cd kcov-master/build && |
| cmake -DCMAKE_INSTALL_PREFIX:PATH=$HOME/.kcov .. && make && make install && cd ../.. |
| fi |
| - export PATH=$HOME/.kcov/bin:$PATH |
| |
| script: |
| - cargo build |
| |
| cache: |
| cargo: true |
| apt: true |
| directories: |
| - target/debug/deps |
| - target/debug/build |
| |
| addons: |
| apt: |
| packages: |
| - libcurl4-openssl-dev |
| - libelf-dev |
| - libdw-dev |
| - binutils-dev |
| - libiberty-dev |
| |
| after_success: |
| - '[ $TRAVIS_RUST_VERSION = stable ] && |
| [ $TRAVIS_BRANCH = master ] && |
| [ $TRAVIS_PULL_REQUEST = false ] && |
| (ls target/debug && |
| RUSTFLAGS="-C link-dead-code" cargo test --no-run && |
| for file in target/debug/atty-*; do |
| if [[ "${file: -2}" != ".d" ]]; then |
| mkdir -p "target/cov/$(basename $file)"; |
| kcov --exclude-pattern=/.cargo,/usr/lib --verify "target/cov/$(basename $file)" "$file"; |
| fi; |
| done && |
| kcov --coveralls-id=$COVERALLS_REPO_TOKEN --merge target/cov target/cov/* && |
| echo "covered") || true' |
| - '[ $TRAVIS_RUST_VERSION = stable ] && |
| [ $TRAVIS_BRANCH = master ] && |
| [ $TRAVIS_PULL_REQUEST = false ] |
| && cargo doc --no-deps && |
| echo "<meta http-equiv=refresh content=0;url=`echo $TRAVIS_REPO_SLUG | cut -d / -f 2`/index.html>" > target/doc/index.html && |
| pip install --user ghp-import && |
| /home/travis/.local/bin/ghp-import -n target/doc && |
| git push -fq https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages && |
| echo "documented"' |