]> git.lizzy.rs Git - rust.git/blob - .travis.yml
rust-lang-nursery/rust-clippy => rust-lang/rust-clippy
[rust.git] / .travis.yml
1 language: rust
2
3 rust: nightly
4
5 os:
6   - linux
7   - osx
8   - windows
9
10 sudo: false
11
12 branches:
13   # Don't build these branches
14   except:
15     # Used by bors
16     - trying.tmp
17     - staging.tmp
18
19 env:
20  global:
21    - RUST_BACKTRACE=1
22
23 before_install:
24  - |
25     # work-around for issue https://github.com/travis-ci/travis-ci/issues/6307
26     # might not be necessary in the future
27     if [ "$TRAVIS_OS_NAME" == "osx" ]; then
28      command curl -sSL https://rvm.io/mpapis.asc | gpg --import -
29      rvm get stable
30     fi
31
32 install:
33   - |
34     if [ -z ${INTEGRATION} ]; then
35       if [ "$TRAVIS_OS_NAME" == "linux" ]; then
36         . $HOME/.nvm/nvm.sh
37         nvm install stable
38         nvm use stable
39         npm install remark-cli remark-lint
40       fi
41       if [ "$TRAVIS_OS_NAME" == "windows" ]; then
42         choco install windows-sdk-10.0
43       fi
44     fi
45
46 matrix:
47   include:
48     - os: osx # run base tests on both platforms
49       env: BASE_TESTS=true
50     - os: linux
51       env: BASE_TESTS=true
52     - os: windows
53       env: BASE_TEST=true
54     - env: INTEGRATION=rust-lang/cargo
55     - env: INTEGRATION=rust-random/rand
56     - env: INTEGRATION=rust-lang-nursery/stdsimd
57     - env: INTEGRATION=rust-lang/rustfmt
58     - env: INTEGRATION=rust-lang-nursery/futures-rs
59     - env: INTEGRATION=rust-lang-nursery/failure
60     - env: INTEGRATION=rust-lang-nursery/log
61     - env: INTEGRATION=rust-lang-nursery/chalk
62     - env: INTEGRATION=rust-lang/rls
63     - env: INTEGRATION=chronotope/chrono
64     - env: INTEGRATION=serde-rs/serde
65     - env: INTEGRATION=Geal/nom
66     - env: INTEGRATION=hyperium/hyper
67   allow_failures:
68   - os: windows
69     env: BASE_TEST=true
70 # prevent these jobs with default env vars
71   exclude:
72     - os: linux
73     - os: osx
74     - os: windows
75
76 script:
77   - |
78       rm rust-toolchain
79       cargo install rustup-toolchain-install-master --debug || echo "rustup-toolchain-install-master already installed"
80       RUSTC_HASH=$(git ls-remote https://github.com/rust-lang/rust.git master | awk '{print $1}')
81       travis_retry rustup-toolchain-install-master -f -n master $RUSTC_HASH
82       rustup default master
83       export LD_LIBRARY_PATH=$(rustc --print sysroot)/lib
84   - |
85     if [ -z ${INTEGRATION} ]; then
86       ./ci/base-tests.sh && sleep 5
87     else
88       ./ci/integration-tests.sh && sleep 5
89     fi
90
91 after_success: |
92   #!/bin/bash
93   if [ $(uname) == Linux ]; then
94     set -ex
95     if [ -z ${INTEGRATION} ]; then
96       ./.github/deploy.sh
97     else
98       echo "Not deploying, because we're in an integration test run"
99     fi
100     set +e
101   fi