cage 0.2.0

Develop multi-pod docker-compose apps
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