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:
- # TRAVIS_TOKEN_CLIPPY_SERVICE
- - secure: dj8SwwuRGuzbo2wZq5z7qXIf7P3p7cbSGs1I3pvXQmB6a58gkLiRn/qBcIIegdt/nzXs+Z0Nug+DdesYVeUPxk1hIa/eeU8p6mpyTtZ+30H4QVgVzd0VCthB5F/NUiPVxTgpGpEgCM9/p72xMwTn7AAJfsGqk7AJ4FS5ZZKhqFI=
- RUST_BACKTRACE=1
before_install:
install:
- |
if [ -z ${INTEGRATION} ]; then
- . $HOME/.nvm/nvm.sh
- nvm install stable
- nvm use stable
- npm install remark-cli remark-lint
+ 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:
- - 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: BASE_TEST=true
- env: INTEGRATION=rust-lang/cargo
- - env: INTEGRATION=rust-lang-nursery/rand
+ - env: INTEGRATION=rust-random/rand
- env: INTEGRATION=rust-lang-nursery/stdsimd
- - env: INTEGRATION=rust-lang-nursery/rustfmt
+ - env: INTEGRATION=rust-lang/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=rust-lang/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:
- |
- if [ -n "$GITHUB_TOKEN" ]; then
rm rust-toolchain
- cargo install rustup-toolchain-install-master || echo "rustup-toolchain-install-master already installed"
- travis_retry rustup-toolchain-install-master -f -n master --github-token $GITHUB_TOKEN
+ 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
- fi
- |
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: |
else
echo "Not deploying, because we're in an integration test run"
fi
- # trigger rebuild of the clippy-service, to keep it up to date with clippy itself
- if [ "$TRAVIS_PULL_REQUEST" == "false" ] &&
- [ "$TRAVIS_REPO_SLUG" == "Manishearth/rust-clippy" ] &&
- [ "$TRAVIS_BRANCH" == "master" ] &&
- [ "$TRAVIS_TOKEN_CLIPPY_SERVICE" != "" ] ; then
- curl -s -X POST \
- -H "Content-Type: application/json" \
- -H "Accept: application/json" \
- -H "Travis-API-Version: 3" \
- -H "Authorization: token $TRAVIS_TOKEN_CLIPPY_SERVICE" \
- -d "{ \"request\": { \"branch\":\"master\" }}" \
- https://api.travis-ci.org/repo/gnunicorn%2Fclippy-service/requests
- else
- echo "Ignored"
- fi
set +e
fi