# # Operating Environment # language: rust sudo: false dist: trusty services: - docker addons: apt: packages: - gcc-multilib - libcurl4-openssl-dev - libelf-dev - libdw-dev - binutils-dev rust: - 1.7.0 # Oldest supported version - stable - beta - nightly # # Environment Variables and Build Matrix # env: global: - PATH=$HOME/.local/bin:$PATH - TRAVIS_CARGO_NIGHTLY_FEATURE="" matrix: - ARCH=x86_64 - ARCH=i686 os: # OSX included in build matrix explicitly - linux # Failures on nightly shouldn't fail the overall build. matrix: fast_finish: true include: # 32-bit and 64-bit OSX builds on oldest/stable - os: osx env: ARCH=x86_64 rust: stable - os: osx env: ARCH=i686 rust: stable # Docker builds for other targets - os: linux env: TARGET=aarch64-unknown-linux-gnu DOCKER_IMAGE=posborne/rust-cross:arm rust: 1.7.0 sudo: true - os: linux env: TARGET=arm-unknown-linux-gnueabihf DOCKER_IMAGE=posborne/rust-cross:arm rust: 1.7.0 sudo: true - os: linux env: TARGET=mips-unknown-linux-gnu DOCKER_IMAGE=posborne/rust-cross:mips rust: 1.7.0 sudo: true - os: linux env: TARGET=mipsel-unknown-linux-gnu DOCKER_IMAGE=posborne/rust-cross:mips rust: 1.7.0 sudo: true - os: linux env: TARGET=arm-linux-androideabi DOCKER_IMAGE=posborne/rust-cross:android rust: 1.7.0 sudo: true allow_failures: - rust: nightly # We need to upgrade the lowest supported version. However, the build # infrastructure for arm/mips/android is not ready yet. - rust: 1.7.0 - env: TARGET=mips-unknown-linux-gnu DOCKER_IMAGE=posborne/rust-cross:mips - env: TARGET=mipsel-unknown-linux-gnu DOCKER_IMAGE=posborne/rust-cross:mips - env: TARGET=arm-linux-androideabi DOCKER_IMAGE=posborne/rust-cross:android # # Build/Test/Deploy Steps # before_script: - pip install 'travis-cargo<0.2' --user script: - bash ci/run-travis.sh - | if [ "$TRAVIS_OS_NAME" = "linux" ]; then travis-cargo --only stable doc fi after_success: - | if [ "$TRAVIS_OS_NAME" = "linux" ] && \ [ "$TRAVIS_RUST_VERSION" = "stable" ] && \ [ "$ARCH" = "x86_64" ]; then # Upload docs for stable (on master) to gh-pages travis-cargo --only stable doc-upload # Measure code coverage using kcov and upload to coveralls.io travis-cargo coveralls --no-sudo --verify fi