blob: ca131a6d5305a405cf5be2a0e4ce82edb1de8f68 [file] [log] [blame]
---
language: rust
dist: trusty
sudo: required
services: docker
cache: cargo
before_cache:
# Travis can't cache files that are not readable by "others"
- chmod -R a+r $HOME/.cargo
script:
- cargo build
- cargo build --no-default-features
- cargo test
matrix:
include:
# Test compatibility
#
# 1.13.0 is the oldest supported version of Rust. This value should NOT be
# changed without prior discussion.
#
# This build also deploys docs
- os: linux
rust: 1.13.0
before_script:
- pip install 'travis-cargo<0.2' --user && export PATH=$HOME/.local/bin:$PATH
script:
# Ensure that the build works without default features
- cargo build
- cargo build --no-default-features
- cargo test
- cargo doc --no-deps
after_success:
- travis-cargo doc-upload
# Test on latest stable
- os: linux
rust: stable
script:
# Ensure that the build works without default features
- cargo build
- cargo build --no-default-features
- cargo test
# OS X
- os: osx
rust: stable
script:
# Ensure that the build works without default features
- cargo build --no-default-features
- cargo test
# iOS
- os: osx
osx_image: xcode8.2
env: TARGET=x86_64-apple-ios
rust: stable
script:
- cargo build
- CARGO_TARGET_DIR=`pwd` sh ci/run-ios.sh $TARGET
install:
- rustup target add $TARGET
# Android arm-linux-androideabi
- os: linux
env: TARGET=arm-linux-androideabi
rust: stable
script:
- cargo build
- cargo build --no-default-features
- sh ci/run-docker.sh $TARGET;
install:
- rustup target add $TARGET
# Android aarch64-linux-android
- os: linux
env: TARGET=aarch64-linux-android
rust: stable
script:
- cargo build
- cargo build --no-default-features
- sh ci/run-docker.sh $TARGET;
install:
- rustup target add $TARGET
# FreeBSD
- os: linux
env: TARGET=x86_64-unknown-freebsd DISABLE_TESTS=1
install:
- sh ci/trust/install.sh
- source ~/.cargo/env || true
script:
- bash ci/trust/script.sh
- os: linux
env: TARGET=x86_64-unknown-netbsd DISABLE_TESTS=1
install:
- sh ci/trust/install.sh
- source ~/.cargo/env || true
script:
- bash ci/trust/script.sh
env:
global:
- CRATE_NAME=mio
- secure: "B/5BSBwUX1r+99YJba421+x7eGgm8J+Cuy7nOAenkRsCP+h5JiOFP4IWyoRgmGQoF1dgGwlHuOLBYvcBj1r8p2i3b8akLk/L83iOBbYNkhub6TpDjltTOZ30brrM++LayazAKHg8mixsTiu72cSJr1BiELQae/ABq9QHTj4v3m4="
notifications:
email:
on_success: never