sudo: false
language: rust
-rust:
- - stable
- - beta
- - nightly
-os:
- - linux
- - osx
+rust: nightly
+os: linux
cache:
directories:
- $HOME/.cargo
+addons:
+ apt:
+ packages:
+ - libcurl4-openssl-dev
+ - libelf-dev
+ - libdw-dev
+
+matrix:
+ include:
+ - env: DEPLOY=LINUX
+ - env: CFG_RELEASE_CHANNEL=beta
+ - os: osx
+ - env: INTEGRATION=bitflags
+ - env: INTEGRATION=cargo
+ - env: INTEGRATION=chalk
+ - env: INTEGRATION=crater
+ - env: INTEGRATION=error-chain
+ - env: INTEGRATION=failure
+ - env: INTEGRATION=futures-rs
+ - env: INTEGRATION=glob
+ - env: INTEGRATION=log
+ - env: INTEGRATION=mdbook
+ - env: INTEGRATION=packed_simd
+ - env: INTEGRATION=rand
+ - env: INTEGRATION=rust-clippy
+ - env: INTEGRATION=rust-semverver
+ - env: INTEGRATION=stdsimd
+ - env: INTEGRATION=tempdir
+ allow_failures:
+ # Needs `edition = "2018"` in rustfmt.toml
+ - env: INTEGRATION=chalk
+ # Fails tests, don't know why
+ - env: INTEGRATION=crater
+ # Doesn't build
+ - env: INTEGRATION=futures-rs
+ # Doesn't build - seems to be because of an option
+ - env: INTEGRATION=packed_simd
+ # Weird bug I can't reproduce: #2969
+ - env: INTEGRATION=rand
+ # Test failure
+ - env: INTEGRATION=rust-clippy
+ # Build failure
+ - env: INTEGRATION=rust-semverver
+
script:
- - cargo build
- - cargo test
+ - |
+ if [ -z ${INTEGRATION} ]; then
+ cargo build
+ cargo test
+ else
+ ./ci/integration.sh
+ fi
+
+after_success:
+- if [ -z ${INTEGRATION} ]; then travis-cargo coveralls --no-sudo; fi
before_deploy:
# TODO: cross build
on:
repo: nrc/rustfmt
tags: true
- condition: "$TRAVIS_OS_NAME = linux"
+ condition: "$DEPLOY = LINUX"
skip_cleanup: true