os:
- linux
- # - osx # doesn't even start atm. Not sure what travis is up to. Disabling to reduce the noise
+ - osx
+ - windows
-sudo: false
+branches:
+ # Don't build these branches
+ except:
+ # Used by bors
+ - trying.tmp
+ - staging.tmp
env:
global:
- RUST_BACKTRACE=1
-before_install:
- - |
- # work-around for issue https://github.com/travis-ci/travis-ci/issues/6307
- # might not be necessary in the future
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
- command curl -sSL https://rvm.io/mpapis.asc | gpg --import -
- rvm get stable
- fi
-
install:
- |
if [ -z ${INTEGRATION} ]; then
- . $HOME/.nvm/nvm.sh
- nvm install stable
- nvm use stable
- npm install remark-cli remark-lint
+ rustup component add rustfmt || cargo install --git https://github.com/rust-lang/rustfmt/ --force
+ if [ "$TRAVIS_OS_NAME" == "linux" ]; then
+ . $HOME/.nvm/nvm.sh
+ nvm install stable
+ nvm use stable
+ npm install remark-cli remark-lint
+ fi
+ if [ "$TRAVIS_OS_NAME" == "windows" ]; then
+ choco install windows-sdk-10.0
+ fi
fi
+# disabling the integration tests in forks should be done with
+# if: fork = false
+# but this is currently buggy travis-ci/travis-ci#9118
matrix:
+ fast_finish: true
include:
- - env: BASE_TESTS=true # runs the base tests
+ - os: osx # run base tests on both platforms
+ env: BASE_TESTS=true
+ - os: linux
+ env: BASE_TESTS=true
+ - os: windows
+ env: CARGO_INCREMENTAL=0 BASE_TESTS=true
- env: INTEGRATION=rust-lang/cargo
- - env: INTEGRATION=rust-lang-nursery/rand
+ if: repo =~ /^rust-lang\/rust-clippy$/
+ - env: INTEGRATION=rust-random/rand
+ if: repo =~ /^rust-lang\/rust-clippy$/
- env: INTEGRATION=rust-lang-nursery/stdsimd
- - env: INTEGRATION=rust-lang-nursery/rustfmt
+ if: repo =~ /^rust-lang\/rust-clippy$/
+ - env: INTEGRATION=rust-lang/rustfmt
+ if: repo =~ /^rust-lang\/rust-clippy$/
- env: INTEGRATION=rust-lang-nursery/futures-rs
+ if: repo =~ /^rust-lang\/rust-clippy$/
- env: INTEGRATION=rust-lang-nursery/failure
+ if: repo =~ /^rust-lang\/rust-clippy$/
- env: INTEGRATION=rust-lang-nursery/log
+ if: repo =~ /^rust-lang\/rust-clippy$/
- env: INTEGRATION=rust-lang-nursery/chalk
- - env: INTEGRATION=rust-lang-nursery/rls
+ if: repo =~ /^rust-lang\/rust-clippy$/
+ - env: INTEGRATION=rust-lang/rls
+ if: repo =~ /^rust-lang\/rust-clippy$/
- env: INTEGRATION=chronotope/chrono
+ if: repo =~ /^rust-lang\/rust-clippy$/
- env: INTEGRATION=serde-rs/serde
+ if: repo =~ /^rust-lang\/rust-clippy$/
- env: INTEGRATION=Geal/nom
+ if: repo =~ /^rust-lang\/rust-clippy$/
- env: INTEGRATION=hyperium/hyper
+ if: repo =~ /^rust-lang\/rust-clippy$/
+ allow_failures:
+ - os: windows
+ env: CARGO_INCREMENTAL=0 BASE_TESTS=true
+# prevent these jobs with default env vars
+ exclude:
+ - os: linux
+ - os: osx
+ - os: windows
script:
- |
rm rust-toolchain
- cargo install rustup-toolchain-install-master || echo "rustup-toolchain-install-master already installed"
+ cargo install rustup-toolchain-install-master --debug || echo "rustup-toolchain-install-master already installed"
RUSTC_HASH=$(git ls-remote https://github.com/rust-lang/rust.git master | awk '{print $1}')
travis_retry rustup-toolchain-install-master -f -n master $RUSTC_HASH
rustup default master
export LD_LIBRARY_PATH=$(rustc --print sysroot)/lib
- |
if [ -z ${INTEGRATION} ]; then
- ./ci/base-tests.sh
+ ./ci/base-tests.sh && sleep 5
else
- ./ci/integration-tests.sh
+ ./ci/integration-tests.sh && sleep 5
fi
after_success: |