# Based on the "trust" template v0.1.1 # https://github.com/japaric/trust/tree/v0.1.1 dist: trusty language: rust services: docker env: global: - CRATE_NAME=nix - RUST_TEST_THREADS=1 matrix: # These are all the build jobs. Adjust as necessary. Comment out what you # don't need. The iOS/Mac builds are distributed throughout because Travis # likes to have a big backlog on builds on those machines. This way at least # all of the other jobs can finish while waiting on those builds. include: # iOS builds # These are all done on a single machine because Travis rations their OS X # builders so heavily that we otherwise can't merge PRs during the work week. # Additionally they're moved to the front of the line to get them in the Travis # OS X build queue first. - env: TARGET="aarch64-apple-ios;armv7-apple-ios;armv7s-apple-ios;i386-apple-ios;x86_64-apple-ios" DISABLE_TESTS=1 rust: 1.22.1 os: osx # Mac builds # These are also moved to be first because they wait in a long queue with Travis - env: TARGET=i686-apple-darwin rust: 1.22.1 os: osx - env: TARGET=x86_64-apple-darwin rust: 1.22.1 os: osx # Android - env: TARGET=aarch64-linux-android DISABLE_TESTS=1 rust: 1.22.1 - env: TARGET=arm-linux-androideabi DISABLE_TESTS=1 rust: 1.22.1 - env: TARGET=armv7-linux-androideabi DISABLE_TESTS=1 rust: 1.22.1 - env: TARGET=i686-linux-android DISABLE_TESTS=1 rust: 1.22.1 - env: TARGET=x86_64-linux-android DISABLE_TESTS=1 rust: 1.22.1 # Linux - env: TARGET=aarch64-unknown-linux-gnu rust: 1.22.1 - env: TARGET=arm-unknown-linux-gnueabi rust: 1.22.1 - env: TARGET=arm-unknown-linux-musleabi DISABLE_TESTS=1 rust: 1.22.1 - env: TARGET=armv7-unknown-linux-gnueabihf rust: 1.22.1 - env: TARGET=i686-unknown-linux-gnu rust: 1.22.1 - env: TARGET=i686-unknown-linux-musl rust: 1.22.1 - env: TARGET=mips-unknown-linux-gnu rust: 1.22.1 - env: TARGET=mips64-unknown-linux-gnuabi64 rust: 1.22.1 - env: TARGET=mips64el-unknown-linux-gnuabi64 rust: 1.22.1 - env: TARGET=mipsel-unknown-linux-gnu rust: 1.22.1 - env: TARGET=powerpc-unknown-linux-gnu DISABLE_TESTS=1 rust: 1.22.1 - env: TARGET=powerpc64-unknown-linux-gnu rust: 1.22.1 - env: TARGET=powerpc64le-unknown-linux-gnu rust: 1.22.1 - env: TARGET=s390x-unknown-linux-gnu DISABLE_TESTS=1 rust: 1.22.1 - env: TARGET=x86_64-unknown-linux-gnu rust: 1.22.1 - env: TARGET=x86_64-unknown-linux-musl rust: 1.22.1 # *BSD # FreeBSD i686 and x86_64 use BuildBot instead of Travis # Note that i686-unknown-freebsd is actually using stable Rust instead of # 1.13.0 because rustup does not support i686-unknown-freebsd # - env: TARGET=i686-unknown-freebsd DISABLE_TESTS=1 # - env: TARGET=x86_64-unknown-freebsd DISABLE_TESTS=1 - env: TARGET=x86_64-unknown-netbsd DISABLE_TESTS=1 rust: 1.22.1 # Make sure stable is always working too - env: TARGET=x86_64-unknown-linux-gnu rust: stable before_install: set -e install: - bash ci/install.sh - source ~/.cargo/env || true script: - bash ci/script.sh after_script: set +e before_deploy: - sh ci/before_deploy.sh deploy: # TODO update `api_key.secure` # - Create a `public_repo` GitHub token. Go to: https://github.com/settings/tokens/new # - Encrypt it: `travis encrypt GH_TOKEN=0123456789012345678901234567890123456789` # - Paste the output down here api_key: secure: S1ktt0eqmfrEHnYPf4WO7mZtatz/FWfYWBp8nwdc0nd8H6UNZ9Dwy3tJpVe0N9rpB9vAFnkdw6R4jdkIcgxfory2F3F8k/mh8cWn0mkvh2N34YjHMYLnuVzOoFrWai7IcPfROpdlY0tGBlwNj5KMkeBnHUJzd2q4j/4j/tlrfmg= file_glob: true file: $CRATE_NAME-$TRAVIS_TAG-$TARGET.* on: # Here you can pick which targets will generate binary releases # In this example, there are some targets that are tested using the stable # and nightly channels. This condition makes sure there is only one release # for such targets and that's generated using the stable channel # # Here we make it so we never generate binary releases condition: $DEPLOY = never tags: true provider: releases skip_cleanup: true cache: cargo before_cache: # Travis can't cache files that are not readable by "others" - chmod -R a+r $HOME/.cargo branches: only: # release tags - /^v\d+\.\d+\.\d+.*$/ - master # bors-ng branches; see https://bors-ng.github.io/getting-started/ - trying - staging notifications: email: on_success: never