-language: minimal
+language: generic
sudo: required
dist: trusty
services:
- env: IMAGE=dist-powerpc64le-linux DEPLOY=1
- env: IMAGE=dist-s390x-linux DEPLOY=1
- env: IMAGE=dist-x86_64-freebsd DEPLOY=1
- - env: IMAGE=dist-x86_64-linux DEPLOY=1
+ - env: IMAGE=dist-x86_64-linux DEPLOY=1 ALLOW_TRY=1
- env: IMAGE=dist-x86_64-musl DEPLOY=1
- env: IMAGE=dist-x86_64-netbsd DEPLOY=1
- env: IMAGE=emscripten
os: osx
osx_image: xcode8.2
install: &osx_install_sccache >
- travis_retry curl -o /usr/local/bin/sccache https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-04-29-sccache-x86_64-apple-darwin &&
+ travis_retry curl -o /usr/local/bin/sccache https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-05-12-sccache-x86_64-apple-darwin &&
chmod +x /usr/local/bin/sccache &&
travis_retry curl -o /usr/local/bin/stamp https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-17-stamp-x86_64-apple-darwin &&
chmod +x /usr/local/bin/stamp
echo "#### Disk usage before running script:";
df -h;
du . | sort -nr | head -n100
-
-script:
+ # If we are building a pull request, do the build if $ALLOW_PR == 1
+ # Otherwise, do the build if we are on the auto branch, or the try branch and $ALLOW_TRY == 1
- >
- if [ "$ALLOW_PR" = "" ] && [ "$TRAVIS_BRANCH" != "auto" ]; then
- echo skipping, not a full build
+ if [[ "$TRAVIS_PULL_REQUEST" != "false" ]]; then
+ if [[ "$ALLOW_PR" == "1" ]]; then
+ SKIP_BUILD=false;
+ else
+ SKIP_BUILD=true;
+ fi
+ elif [[ "$TRAVIS_BRANCH" == "auto" || ( "$ALLOW_TRY" == "1" && "$TRAVIS_BRANCH" == "try" ) ]]; then
+ SKIP_BUILD=false;
+ else
+ SKIP_BUILD=true;
+ fi
+
+ if [[ "$SKIP_BUILD" == true ]]; then
+ export RUN_SCRIPT="echo 'skipping, not a full build'";
else
- stamp src/ci/init_repo.sh . "$HOME/rustsrc" &&
+ RUN_SCRIPT="stamp src/ci/init_repo.sh . $HOME/rustsrc";
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
- stamp src/ci/run.sh;
+ export RUN_SCRIPT="$RUN_SCRIPT && stamp src/ci/run.sh";
else
- stamp src/ci/docker/run.sh $IMAGE;
+ export RUN_SCRIPT="$RUN_SCRIPT && stamp src/ci/docker/run.sh $IMAGE";
fi
fi
+script:
+ - sh -x -c "$RUN_SCRIPT"
+
after_success:
- >
echo "#### Build successful; Disk usage after running script:";
# Save tagged docker images we created and load them if they're available
# Travis saves caches whether the build failed or not, nuke rustsrc if
-# the failure was while updating it (as it may be in an bad state)
+# the failure was while updating it (as it may be in a bad state)
# https://github.com/travis-ci/travis-ci/issues/4472
before_cache:
- docker history -q rust-ci |
branch: auto
condition: $DEPLOY = 1
+ - provider: s3
+ bucket: rust-lang-ci
+ skip_cleanup: true
+ local_dir: deploy
+ upload_dir: rustc-builds-try
+ acl: public_read
+ region: us-east-1
+ access_key_id: AKIAIPQVNYF2T3DTYIWQ
+ secret_access_key:
+ secure: "FBqDqOTeIPMu6v/WYPf4CFSlh9rLRZGKVtpLa5KkyuOhXRTrnEzBduEtS8/FMIxdQImvurhSvxWvqRybMOi4qoVfjMqqpHAI7uBbidbrvAcJoHNsx6BgUNVCIoH6a0UsAjTUtm6/YPIpzbHoLZXPL0GrHPMk6Mu04qVSmcYNWn4="
+ on:
+ branch: try
+ condition: $DEPLOY = 1 && $ALLOW_TRY = 1
+
# this is the same as the above deployment provider except that it uploads to
# a slightly different directory and has a different trigger
- provider: s3