.travis.yml 5.5 KB
Newer Older
1
language: minimal
A
Alex Crichton 已提交
2
sudo: required
3
dist: trusty
S
Seo Sanghyeon 已提交
4 5
services:
  - docker
6

A
Alex Crichton 已提交
7
git:
8
  depth: 1
9
  submodules: false
10

11
matrix:
A
Alex Crichton 已提交
12
  fast_finish: true
13 14
  include:
    # Linux builders, all docker images
15
    - env: IMAGE=arm-android
16
    - env: IMAGE=armhf-gnu
17
    - env: IMAGE=cross DEPLOY=1
18
    - env: IMAGE=linux-tested-targets DEPLOY=1
19
    - env: IMAGE=dist-android DEPLOY=1
20 21 22 23 24 25 26 27
    - env: IMAGE=dist-arm-linux DEPLOY=1
    - env: IMAGE=dist-armv7-aarch64-linux DEPLOY=1
    - env: IMAGE=dist-freebsd DEPLOY=1
    - env: IMAGE=dist-mips-linux DEPLOY=1
    - env: IMAGE=dist-mips64-linux DEPLOY=1
    - env: IMAGE=dist-powerpc-linux DEPLOY=1
    - env: IMAGE=dist-powerpc64-linux DEPLOY=1
    - env: IMAGE=dist-s390x-linux-netbsd DEPLOY=1
28
    - env: IMAGE=dist-x86-linux DEPLOY=1
A
Alex Crichton 已提交
29
    - env: IMAGE=emscripten
30
    - env: IMAGE=i686-gnu
31
    - env: IMAGE=i686-gnu-nopt
32
    - env: IMAGE=x86_64-gnu
33
    - env: IMAGE=x86_64-gnu-full-bootstrap
34
    - env: IMAGE=x86_64-gnu-aux
35 36
    - env: IMAGE=x86_64-gnu-debug
    - env: IMAGE=x86_64-gnu-nopt
37
    - env: IMAGE=x86_64-gnu-llvm-3.7 ALLOW_PR=1 RUST_BACKTRACE=1
A
Alex Crichton 已提交
38
    - env: IMAGE=x86_64-gnu-distcheck
39
    - env: IMAGE=x86_64-gnu-incremental
40 41 42 43

    # OSX builders
    - env: >
        RUST_CHECK_TARGET=check
44
        RUST_CONFIGURE_ARGS=--build=x86_64-apple-darwin
45 46
        SRC=.
      os: osx
47
      osx_image: xcode8.2
A
Alex Crichton 已提交
48
      install: &osx_install_sccache >
49
        travis_retry curl -o /usr/local/bin/sccache https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-apple-darwin &&
A
Alex Crichton 已提交
50
          chmod +x /usr/local/bin/sccache
51 52 53 54 55 56 57
    - env: >
        RUST_CHECK_TARGET=check
        RUST_CONFIGURE_ARGS=--build=i686-apple-darwin
        SRC=.
      os: osx
      osx_image: xcode8.2
      install: *osx_install_sccache
58

59
    - env: >
60
        RUST_CHECK_TARGET=dist
61
        RUST_CONFIGURE_ARGS="--build=i686-apple-darwin --enable-extended"
62
        SRC=.
63
        DEPLOY=1
64
      os: osx
65
      osx_image: xcode8.2
66
      install: >
67
        travis_retry curl -o /usr/local/bin/sccache https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-apple-darwin &&
A
Alex Crichton 已提交
68 69 70
          chmod +x /usr/local/bin/sccache &&
          brew uninstall --ignore-dependencies openssl &&
          brew install openssl --universal --without-test
71
    - env: >
72
        RUST_CHECK_TARGET=dist
73
        RUST_CONFIGURE_ARGS="--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-extended"
74
        SRC=.
75
        DEPLOY=1
76
      os: osx
77
      osx_image: xcode8.2
A
Alex Crichton 已提交
78 79
      install: *osx_install_sccache

80 81 82 83 84 85 86 87 88 89 90 91 92 93
    # "alternate" deployments, these are "nightlies" but don't have assertions
    # turned on, they're deployed to a different location primarily for projects
    # which are stuck on nightly and don't want llvm assertions in the artifacts
    # that they use.
    - env: IMAGE=dist-x86-linux DEPLOY_ALT=1
    - env: >
        RUST_CHECK_TARGET=dist
        RUST_CONFIGURE_ARGS="--enable-extended"
        SRC=.
        DEPLOY_ALT=1
      os: osx
      osx_image: xcode8.2
      install: *osx_install_sccache

A
Alex Crichton 已提交
94 95 96 97 98 99
env:
  global:
    - SCCACHE_BUCKET=rust-lang-ci-sccache
    - AWS_ACCESS_KEY_ID=AKIAIMX7VLAS3PZAVLUQ
    # AWS_SECRET_ACCESS_KEY=...
    - secure: "Pixhh0hXDqGCdOyLtGFjli3J2AtDWIpyb2btIrLe956nCBDRutRoMm6rv5DI9sFZN07Mms7VzNNvhc9wCW1y63JAm414d2Co7Ob8kWMZlz9l9t7ACHuktUiis8yr+S4Quq1Vqd6pqi7pf2J++UxC8R/uLeqVrubzr6+X7AbmEFE="
A
arcnmx 已提交
100

A
Alex Crichton 已提交
101
script:
102 103 104 105
  - >
      if [ "$ALLOW_PR" = "" ] && [ "$TRAVIS_BRANCH" != "auto" ]; then
          echo skipping, not a full build;
      elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
106
          travis_retry sh -c 'git submodule deinit -f . && git submodule update --init' &&
107 108
          src/ci/run.sh;
      else
109
          travis_retry sh -c 'git submodule deinit -f . && git submodule update --init' &&
110 111
          src/ci/docker/run.sh $IMAGE;
      fi
112

113 114 115 116 117
# 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 |
A
Alex Crichton 已提交
118
    gzip > $HOME/docker/rust-ci.tar.gz
119 120
before_install:
  - zcat $HOME/docker/rust-ci.tar.gz | docker load || true
M
Matthew Astley 已提交
121

122 123 124
notifications:
  email: false

125 126 127
cache:
  directories:
    - $HOME/docker
128 129 130 131 132

before_deploy:
  - mkdir -p deploy/$TRAVIS_COMMIT
  - >
      if [ "$TRAVIS_OS_NAME" == "osx" ]; then
133
          rm -rf build/dist/doc &&
A
Alex Crichton 已提交
134
          cp -r build/dist/* deploy/$TRAVIS_COMMIT;
135
      else
136
          rm -rf obj/build/dist/doc &&
A
Alex Crichton 已提交
137
          cp -r obj/build/dist/* deploy/$TRAVIS_COMMIT;
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
      fi

deploy:
  - provider: s3
    bucket: rust-lang-ci
    skip_cleanup: true
    local_dir: deploy
    upload_dir: rustc-builds
    acl: public_read
    region: us-east-1
    access_key_id: AKIAIPQVNYF2T3DTYIWQ
    secret_access_key:
      secure: "FBqDqOTeIPMu6v/WYPf4CFSlh9rLRZGKVtpLa5KkyuOhXRTrnEzBduEtS8/FMIxdQImvurhSvxWvqRybMOi4qoVfjMqqpHAI7uBbidbrvAcJoHNsx6BgUNVCIoH6a0UsAjTUtm6/YPIpzbHoLZXPL0GrHPMk6Mu04qVSmcYNWn4="
    on:
      branch: auto
      condition: $DEPLOY = 1
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169

  # 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
    bucket: rust-lang-ci
    skip_cleanup: true
    local_dir: deploy
    upload_dir: rustc-builds-alt
    acl: public_read
    region: us-east-1
    access_key_id: AKIAIPQVNYF2T3DTYIWQ
    secret_access_key:
      secure: "FBqDqOTeIPMu6v/WYPf4CFSlh9rLRZGKVtpLa5KkyuOhXRTrnEzBduEtS8/FMIxdQImvurhSvxWvqRybMOi4qoVfjMqqpHAI7uBbidbrvAcJoHNsx6BgUNVCIoH6a0UsAjTUtm6/YPIpzbHoLZXPL0GrHPMk6Mu04qVSmcYNWn4="
    on:
      branch: auto
      condition: $DEPLOY_ALT = 1