]> git.lizzy.rs Git - rust.git/blob - .travis.yml
Merge pull request #3242 from matthiaskrgr/rm_cargo_ed_feat
[rust.git] / .travis.yml
1 language: rust
2
3 rust: nightly
4
5 os:
6   - linux
7   # - osx # doesn't even start atm. Not sure what travis is up to. Disabling to reduce the noise
8
9 sudo: false
10
11 env:
12  global:
13    - RUST_BACKTRACE=1
14
15 before_install:
16  - |
17     # work-around for issue https://github.com/travis-ci/travis-ci/issues/6307
18     # might not be necessary in the future
19     if [ "$TRAVIS_OS_NAME" == "osx" ]; then
20      command curl -sSL https://rvm.io/mpapis.asc | gpg --import -
21      rvm get stable
22     fi
23
24 install:
25   - |
26     if [ -z ${INTEGRATION} ]; then
27       . $HOME/.nvm/nvm.sh
28       nvm install stable
29       nvm use stable
30       npm install remark-cli remark-lint
31     fi
32
33 matrix:
34   include:
35     - env: BASE_TESTS=true # runs the base tests
36     - env: INTEGRATION=rust-lang/cargo
37     - env: INTEGRATION=rust-lang-nursery/rand
38     - env: INTEGRATION=rust-lang-nursery/stdsimd
39     - env: INTEGRATION=rust-lang-nursery/rustfmt
40     - env: INTEGRATION=rust-lang-nursery/futures-rs
41     - env: INTEGRATION=rust-lang-nursery/failure
42     - env: INTEGRATION=rust-lang-nursery/log
43     - env: INTEGRATION=rust-lang-nursery/chalk
44     - env: INTEGRATION=rust-lang-nursery/rls
45     - env: INTEGRATION=chronotope/chrono
46     - env: INTEGRATION=serde-rs/serde
47     - env: INTEGRATION=Geal/nom
48     - env: INTEGRATION=hyperium/hyper
49
50 script:
51   - |
52       rm rust-toolchain
53       cargo install rustup-toolchain-install-master || echo "rustup-toolchain-install-master already installed"
54       RUSTC_HASH=$(git ls-remote https://github.com/rust-lang/rust.git master | awk '{print $1}')
55       travis_retry rustup-toolchain-install-master -f -n master $RUSTC_HASH
56       rustup default master
57       export LD_LIBRARY_PATH=$(rustc --print sysroot)/lib
58   - |
59     if [ -z ${INTEGRATION} ]; then
60       ./ci/base-tests.sh
61       sleep 5
62     else
63       ./ci/integration-tests.sh
64       sleep 5
65     fi
66
67 after_success: |
68   #!/bin/bash
69   if [ $(uname) == Linux ]; then
70     set -ex
71     if [ -z ${INTEGRATION} ]; then
72       ./.github/deploy.sh
73     else
74       echo "Not deploying, because we're in an integration test run"
75     fi
76     set +e
77   fi