]> git.lizzy.rs Git - rust.git/blob - .travis.yml
Add and update tests for trait with paren
[rust.git] / .travis.yml
1 sudo: false
2 language: rust
3 rust: nightly
4 os: linux
5 cache:
6  directories:
7   - $HOME/.cargo
8
9 addons:
10   apt:
11     packages:
12     - libcurl4-openssl-dev
13     - libelf-dev
14     - libdw-dev
15
16 matrix:
17   include:
18     - env: DEPLOY=LINUX
19     - env: CFG_RELEASE_CHANNEL=beta
20     - os: osx
21     - env: INTEGRATION=bitflags
22     - env: INTEGRATION=cargo
23     - env: INTEGRATION=chalk
24     - env: INTEGRATION=crater
25     - env: INTEGRATION=error-chain
26     - env: INTEGRATION=failure
27     - env: INTEGRATION=futures-rs
28     - env: INTEGRATION=glob
29     - env: INTEGRATION=log
30     - env: INTEGRATION=mdbook
31     - env: INTEGRATION=rand
32     - env: INTEGRATION=rust-clippy
33     - env: INTEGRATION=rust-semverver
34     - env: INTEGRATION=stdsimd
35     - env: INTEGRATION=tempdir
36   allow_failures:
37     # Needs `edition = "Edition2018"` in rustfmt.toml
38     - env: INTEGRATION=chalk
39     # Fails tests, don't know why
40     - env: INTEGRATION=crater
41     # Doesn't build
42     - env: INTEGRATION=futures-rs
43     # Test failure
44     - env: INTEGRATION=rust-clippy
45     # Build failure
46     - env: INTEGRATION=rust-semverver
47     # See: https://github.com/rust-lang-nursery/rustfmt/issues/2787
48     - env: INTEGRATION=stdsimd
49
50 before_script:
51 - |
52   if [ -z ${INTEGRATION} ]; then
53     if [ $TRAVIS_OS_NAME = 'osx' ]; then
54       virtualenv env &&
55       source env/bin/activate &&
56       python --version &&
57       pip install 'travis-cargo<0.2'
58     else
59       pip install 'travis-cargo<0.2' --user &&
60       export PATH="$(python -m site --user-base)/bin:$PATH"
61     fi
62   fi
63
64 script:
65   - |
66     if [ -z ${INTEGRATION} ]; then
67       cargo build
68       cargo test
69     else
70       ./ci/integration.sh
71     fi
72
73 after_success:
74 - if [ -z ${INTEGRATION} ]; then travis-cargo coveralls --no-sudo; fi
75
76 before_deploy:
77   # TODO: cross build
78  - cargo build --release --target=x86_64-unknown-linux-gnu
79  - tar czf rustfmt-x86_64-unknown-linux-gnu.tar.gz Contributing.md Design.md README.md -C target/x86_64-unknown-linux-gnu/release/rustfmt rustfmt
80
81 deploy:
82   provider: releases
83   api_key:
84     secure: "your own encrypted key"
85   file:
86   - rustfmt-x86_64-unknown-linux-gnu.tar.gz
87   on:
88     repo: nrc/rustfmt
89     tags: true
90     condition: "$DEPLOY = LINUX"
91   skip_cleanup: true