rust/.travis.yml
Matthias Krüger 59f4aba5b9 ci: when installing rust-toolchain-installer-master, install it in debug mode to save some time in ci.
the compiletime optimizations probably take longer than the speedup we get when executing the optimized binary vs debug build.
2018-10-31 11:18:20 +01:00

102 lines
2.5 KiB
YAML

language: rust
rust: nightly
os:
- linux
- 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
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
matrix:
include:
- os: osx # run base tests on both platforms
env: BASE_TESTS=true
- os: linux
env: BASE_TESTS=true
- os: windows
env: BASE_TEST=true
- env: INTEGRATION=rust-lang/cargo
- env: INTEGRATION=rust-lang-nursery/rand
- env: INTEGRATION=rust-lang-nursery/stdsimd
- env: INTEGRATION=rust-lang-nursery/rustfmt
- env: INTEGRATION=rust-lang-nursery/futures-rs
- env: INTEGRATION=rust-lang-nursery/failure
- env: INTEGRATION=rust-lang-nursery/log
- env: INTEGRATION=rust-lang-nursery/chalk
- env: INTEGRATION=rust-lang-nursery/rls
- env: INTEGRATION=chronotope/chrono
- env: INTEGRATION=serde-rs/serde
- env: INTEGRATION=Geal/nom
- env: INTEGRATION=hyperium/hyper
allow_failures:
- os: windows
env: BASE_TEST=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 --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 && sleep 5
else
./ci/integration-tests.sh && sleep 5
fi
after_success: |
#!/bin/bash
if [ $(uname) == Linux ]; then
set -ex
if [ -z ${INTEGRATION} ]; then
./.github/deploy.sh
else
echo "Not deploying, because we're in an integration test run"
fi
set +e
fi