Skip to content
Snippets Groups Projects
Forked from pkg / rust-coreutils
76 commits behind the upstream repository.
.travis.yml 1.87 KiB
language: rust

rust:
    - stable
    - beta

os:
    - linux
    # - osx

env:
  # sphinx v1.8.0 is bugged & fails for linux builds; so, force specific `sphinx` version
  global: FEATURES='' TEST_INSTALL='' SPHINX_VERSIONED='sphinx==1.7.8'

matrix:
  allow_failures:
    - rust: beta
    - rust: nightly
  fast_finish: true
  include:
    - rust: 1.40.0
      env: FEATURES=unix
    # - rust: stable
    #   os: linux
    #   env: FEATURES=unix TEST_INSTALL=true
    # - rust: stable
    #   os: osx
    #   env: FEATURES=macos TEST_INSTALL=true
    - rust: nightly
      os: linux
      env: FEATURES=nightly,unix TEST_INSTALL=true
    - rust: nightly
      os: osx
      env: FEATURES=nightly,macos TEST_INSTALL=true
    - rust: nightly
      os: linux
      env: FEATURES=nightly,feat_os_unix_redox CC=x86_64-unknown-redox-gcc CARGO_ARGS='--no-default-features --target=x86_64-unknown-redox' REDOX=1

cache:
  directories:
    - $HOME/.cargo

sudo: true

before_install:
  - if [ $REDOX ]; then ./.travis/redox-toolchain.sh; fi

install:
  - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install python-pip && sudo pip install $SPHINX_VERSIONED; fi
  - |
    if [ $TRAVIS_OS_NAME = osx ]; then
      brew update
      brew upgrade python
      pip3 install $SPHINX_VERSIONED
    fi

script:
  - cargo build $CARGO_ARGS --features "$FEATURES"
  - if [ ! $REDOX ]; then cargo test $CARGO_ARGS --features "$FEATURES" --no-fail-fast; fi
  - if [ -n "$TEST_INSTALL" ]; then mkdir installdir_test; DESTDIR=installdir_test make install; [ `ls installdir_test/usr/local/bin | wc -l` -gt 0 ]; fi

addons:
  apt:
    packages:
      - libssl-dev

after_success: |
  if [ "$TRAVIS_OS_NAME" = linux -a "$TRAVIS_RUST_VERSION" = stable ]; then
    bash <(curl https://raw.githubusercontent.com/xd009642/tarpaulin/master/travis-install.sh)
    cargo tarpaulin --out Xml