language: rust sudo: required dist: trusty services: - docker git: depth: 1 submodules: false matrix: include: # Linux builders, all docker images - env: IMAGE=arm-android - env: IMAGE=cross - env: IMAGE=i686-gnu - env: IMAGE=i686-gnu-nopt - env: IMAGE=x86_64-freebsd - env: IMAGE=x86_64-gnu - env: IMAGE=x86_64-gnu-cargotest - env: IMAGE=x86_64-gnu-debug - env: IMAGE=x86_64-gnu-nopt - env: IMAGE=x86_64-gnu-rustbuild - env: IMAGE=x86_64-gnu-llvm-3.7 ALLOW_PR=1 - env: IMAGE=x86_64-musl # OSX builders - env: > RUST_CHECK_TARGET=check RUST_CONFIGURE_ARGS=--target=x86_64-apple-darwin SRC=. os: osx install: brew install ccache - env: > RUST_CHECK_TARGET=check RUST_CONFIGURE_ARGS=--target=i686-apple-darwin SRC=. os: osx install: brew install ccache - env: > RUST_CHECK_TARGET=check RUST_CONFIGURE_ARGS=--target=x86_64-apple-darwin --enable-rustbuild SRC=. os: osx install: brew install ccache - env: > RUST_CHECK_TARGET= RUST_CONFIGURE_ARGS=--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios SRC=. os: osx install: brew install ccache script: - if [ -z "$ALLOW_PR" ] && [ "$TRAVIS_BRANCH" != "auto" ]; then echo skipping, not a full build; elif [ -z "$ENABLE_AUTO" ] then echo skipping, not quite ready yet elif [ "$TRAVIS_OS_NAME" = "osx" ]; then git submodule update --init; src/ci/run.sh; else git submodule update --init; src/ci/docker/run.sh $IMAGE; fi # Save tagged docker images we created and load them if they're available before_cache: - docker history -q rust-ci | grep -v missing | xargs docker save | gzip -9 > $HOME/docker/rust-ci.tar.gz before_install: - zcat $HOME/docker/rust-ci.tar.gz | docker load || true notifications: email: false cache: directories: - $HOME/docker - $HOME/.ccache - $HOME/.cargo