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