sudo: false language: rust 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=rand - env: INTEGRATION=rust-clippy - env: INTEGRATION=rust-semverver - env: INTEGRATION=stdsimd - env: INTEGRATION=tempdir allow_failures: # Needs `edition = "Edition2018"` in rustfmt.toml - env: INTEGRATION=chalk # Fails tests, don't know why - env: INTEGRATION=crater # Doesn't build - env: INTEGRATION=futures-rs # Test failure - env: INTEGRATION=rust-clippy # Build failure - env: INTEGRATION=rust-semverver # See: https://github.com/rust-lang-nursery/rustfmt/issues/2787 - env: INTEGRATION=stdsimd before_script: - | if [ -z ${INTEGRATION} ]; then if [ $TRAVIS_OS_NAME = 'osx' ]; then virtualenv env && source env/bin/activate && python --version && pip install 'travis-cargo<0.2' else pip install 'travis-cargo<0.2' --user && export PATH="$(python -m site --user-base)/bin:$PATH" fi fi script: - | 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 - cargo build --release --target=x86_64-unknown-linux-gnu - 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 deploy: provider: releases api_key: secure: "your own encrypted key" file: - rustfmt-x86_64-unknown-linux-gnu.tar.gz on: repo: nrc/rustfmt tags: true condition: "$DEPLOY = LINUX" skip_cleanup: true