| language: rust |
| rust: stable |
| sudo: required |
| dist: trusty |
| os: linux |
| services: |
| - docker |
| |
| git: |
| depth: 1 |
| |
| matrix: |
| include: |
| # stable linux builds, tested |
| - env: TARGET=x86_64-unknown-linux-gnu |
| ALT=i686-unknown-linux-gnu |
| IMAGE=dist |
| MAKE_TARGETS="test distcheck doc install uninstall" |
| ALLOW_PR=1 |
| - env: TARGET=i686-unknown-linux-gnu |
| IMAGE=dist |
| MAKE_TARGETS=test-unit-i686-unknown-linux-gnu |
| CFG_DISABLE_CROSS_TESTS=1 |
| |
| # stable osx builds, tested |
| - env: TARGET=x86_64-apple-darwin |
| ALT=i686-apple-darwin |
| MAKE_TARGETS="test distcheck doc install uninstall" |
| MACOSX_DEPLOYMENT_TARGET=10.7 |
| os: osx |
| - env: TARGET=i686-apple-darwin |
| MAKE_TARGETS=test-unit-i686-apple-darwin |
| MACOSX_DEPLOYMENT_TARGET=10.7 |
| CFG_DISABLE_CROSS_TESTS=1 |
| os: osx |
| |
| # stable musl target, tested |
| - env: TARGET=x86_64-unknown-linux-musl |
| IMAGE=x86_64-musl |
| CFG_DISABLE_CROSS_TESTS=1 |
| MAKE_TARGETS=test-unit-$TARGET |
| |
| # cross compiled targets |
| - env: TARGET=arm-unknown-linux-gnueabi |
| IMAGE=cross |
| - env: TARGET=arm-unknown-linux-gnueabihf |
| IMAGE=cross |
| - env: TARGET=armv7-unknown-linux-gnueabihf |
| IMAGE=cross |
| - env: TARGET=aarch64-unknown-linux-gnu |
| IMAGE=cross |
| - env: TARGET=i686-unknown-freebsd |
| IMAGE=cross |
| - env: TARGET=x86_64-unknown-freebsd |
| IMAGE=cross |
| - env: TARGET=x86_64-unknown-netbsd |
| IMAGE=cross |
| - env: TARGET=mips-unknown-linux-gnu |
| IMAGE=cross |
| - env: TARGET=mipsel-unknown-linux-gnu |
| IMAGE=cross |
| - env: TARGET=mips64-unknown-linux-gnuabi64 |
| IMAGE=cross |
| rust: beta |
| - env: TARGET=mips64el-unknown-linux-gnuabi64 |
| IMAGE=cross |
| rust: beta |
| - env: TARGET=s390x-unknown-linux-gnu |
| IMAGE=cross |
| rust: beta |
| - env: TARGET=powerpc-unknown-linux-gnu |
| IMAGE=cross |
| rust: beta |
| - env: TARGET=powerpc64-unknown-linux-gnu |
| IMAGE=cross |
| rust: beta |
| - env: TARGET=powerpc64le-unknown-linux-gnu |
| IMAGE=cross |
| rust: beta |
| |
| # beta/nightly builds |
| - env: TARGET=x86_64-unknown-linux-gnu |
| ALT=i686-unknown-linux-gnu |
| IMAGE=dist |
| MAKE_TARGETS="test distcheck doc install uninstall" |
| DEPLOY=0 |
| rust: beta |
| - env: TARGET=x86_64-unknown-linux-gnu |
| ALT=i686-unknown-linux-gnu |
| IMAGE=dist |
| MAKE_TARGETS="test distcheck doc install uninstall" |
| DEPLOY=0 |
| rust: nightly |
| |
| exclude: |
| - rust: stable |
| |
| before_script: |
| - curl https://static.rust-lang.org/rustup.sh | |
| sh -s -- --add-target=$TARGET --disable-sudo -y --prefix=`rustc --print sysroot` |
| - if [ ! -z "$ALT" ]; then |
| curl https://static.rust-lang.org/rustup.sh | |
| sh -s -- --add-target=$ALT --disable-sudo -y --prefix=`rustc --print sysroot`; |
| fi |
| script: |
| - > |
| if [ "$ALLOW_PR" = "" ] && [ "$TRAVIS_BRANCH" != "auto-cargo" ]; then |
| echo skipping, not a full build; |
| elif [ "$TRAVIS_OS_NAME" = "osx" ]; then |
| SRC=. src/ci/run.sh $TARGET; |
| else |
| src/ci/docker/run.sh $IMAGE $TARGET; |
| fi |
| |
| after_success: | |
| [ $TRAVIS_BRANCH = master ] && |
| [ $TRAVIS_PULL_REQUEST = false ] && |
| [ $(uname -s) = Linux ] && |
| pip install ghp-import --user $USER && |
| $HOME/.local/bin/ghp-import -n target/doc && |
| git push -qf https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages |
| |
| env: |
| global: |
| - DEPLOY=1 |
| - secure: LB2o9UL90Z4CVOLVQsTbZr7ZBLA1dCLxFODuCkPkbdqG3Kl5z1yMIPMRvSbjp9KwBlIgm+Mg0R1iqphKVq+rVP5zo96K4+kEQMG+zWsPb23ZKTxiL8MK5VgCZ7s9AONCvNeCTCNAG3EyeciFr5Zr9eygVCfo0WF6JsPujYYQZx0= |
| |
| notifications: |
| email: |
| on_success: never |
| |
| before_deploy: |
| - mkdir -p deploy/$TRAVIS_COMMIT |
| - cp target/$TARGET/release/dist/cargo-*-$TARGET.tar.gz |
| deploy/$TRAVIS_COMMIT |
| - > |
| if [ "$TRAVIS_OS_NAME" == "osx" ]; then |
| find "deploy/$TRAVIS_COMMIT" -maxdepth 1 -type f -exec sh -c 'shasum -a 256 -b "{}" > "{}.sha256"' \;; |
| else |
| find "deploy/$TRAVIS_COMMIT" -maxdepth 1 -type f -exec sh -c 'sha256sum -b "{}" > "{}.sha256"' \;; |
| fi |
| |
| deploy: |
| - provider: s3 |
| bucket: rust-lang-ci |
| skip_cleanup: true |
| local_dir: deploy |
| upload_dir: cargo-builds |
| acl: public_read |
| region: us-east-1 |
| access_key_id: AKIAIWZDM2B2IJOWBGTA |
| secret_access_key: |
| secure: NB9b/MhIDiv8OtNiN/sHaFgA3xG2fa7MGuQQKJNj80ktvgByzDm5UPNyNeoYx9SmJ3jOWobgcPVaoUd2S+6XgO3bMBqm7sM/oMeE0KdqToh6+V2bKfyRF2U5fm697LEGepPIBYqMLDg4nr/dbknbKltzp6dAfJRyy22Nb721zPQ= |
| on: |
| branch: auto-cargo |
| condition: $DEPLOY = 1 |
| |
| cache: |
| directories: |
| - $HOME/.cargo |
| - target/openssl |