blob: 8bbb77ed89db4e4c1cc05e93bc8f20c23dfd35d6 [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.18.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.18.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 test --no-default-features
- 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
- cargo test --no-default-features
# OS X
- os: osx
rust: stable
script:
# Ensure that the build works without default features
- cargo build --no-default-features
- cargo test
- cargo test --no-default-features
# iOS
- os: osx
osx_image: xcode8.2
env: TARGET=x86_64-apple-ios DISABLE_TESTS=1
rust: stable
script:
- cargo build --target "$TARGET"
- cargo build --target "$TARGET" --no-default-features
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
# NetBSD
- 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
# Solaris
- os: linux
env: TARGET=x86_64-sun-solaris 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