language: rust
dist: trusty
cache:
apt: true
cargo: true
pip: true
directories:
- "$TRAVIS_BUILD_DIR/target"
- "$HOME/Library/Python/2.7"
sudo: required
matrix:
include:
- os: linux
rust: stable
env: "FEATURE_OPTS=''"
- os: linux
rust: beta
env: "FEATURE_OPTS=''"
- os: linux
rust: nightly
# We get an extra `--features unstable` from travis-cargo.
env: "FEATURE_OPTS='--no-default-features'"
- os: osx
rust: stable
# Disable OpenSSL on MacOS X, because the binaries aren't really
# portable between machines. Also we want to test this config anyway.
env: "FEATURE_OPTS='--no-default-features --features default-minimal'"
services:
- docker
before_script:
- |
(cargo install rustfmt || true) &&
pip install 'travis-cargo<0.2' --user &&
export PATH=$HOME/.local/bin:$HOME/Library/Python/2.7/bin:$HOME/.cargo/bin:$PATH
script:
- |
travis-cargo test -- $FEATURE_OPTS &&
travis-cargo build -- $FEATURE_OPTS &&
(cargo fmt -- --write-mode=diff || true) &&
if [[ "$TRAVIS_RUST_VERSION" == beta ]]; then
PATH="`pwd`/target/debug:$PATH" && examples/tutorial.sh &&
travis-cargo bench -- $FEATURE_OPTS &&
travis-cargo doc -- $FEATURE_OPTS
fi
before_deploy: "./build-release cage ${TRAVIS_TAG}-${TRAVIS_OS_NAME}"
deploy:
provider: releases
api_key:
secure: XxzjVK+KvEew2d/uCQ78i9Wx5OII/Nb6eVKND5oIItYq3HiZeNee7fen1p7fB1/TTsw/MhWm29aCmEZNJ+bihwJbeQDgTPuWWYPx785ryF5AxaZmHeLWs9uPotJbukOuiNL+xkcOQ8RZOZvCs5elJ9LW36MftbZBRsR6F1MY19b6nq57SCptKy1DTvhoJ3VyOQ/Xu7hSIQkpDPWaFVIHfkaaeOJN3Cc0QjEsWhMuA4gv+8WSvzvci5/xTSqbux7+UPau12yANVhFHkTHfpFjjPT27Hziiq86FPdWmi+YZXlNqVtDvyYtCQ2cAXj0rdfSBXWVfoRxwEptu/EF0mzFERSifZvoqQEAHGmQ2mAoUPO3B7FubMi8ni7uURcgEG1S+5+51Jz/5BM78bPTywznIH1IHgG6ABCSzrdW7t5AD7nvgQa96ePXg4nb9+iYC6Z+5mtffEmg29wJy0ictMVFc/fokSPBNiZA+6SjUfXEIcwGdD+EwOMmWod/IFe6E4vQci1JHH2uZfH4gYbivCIYyaJ6wVkqCTRP+b9wDyMO4jvlDof8mOewa/F2QoqlkRM2Q1N0nKpfrtJE0LpDV1cft4BGj72NCzhafneHI2jI70liKUUX/XmNEvG2hqvFRXHupnExy2gvVHzngGEMGtlkHJ1FEFE8SQed5BEBuWJMSVQ=
file_glob: true
file: "cage-${TRAVIS_TAG}-${TRAVIS_OS_NAME}-*.*"
skip_cleanup: true
on:
repo: faradayio/cage
rust: stable
tags: true
notifications:
webhooks:
urls:
- "https://webhooks.gitter.im/e/717bec1dd1d6de43c44c"
on_success: change # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: never # options: [always|never|change] default: always