|
| 1 | +# |
| 2 | +# Azure Pipelines "auto" branch build for Rust on Linux, macOS, and Windows. |
| 3 | +# |
| 4 | + |
| 5 | +pr: none |
| 6 | +trigger: |
| 7 | + - auto |
| 8 | + |
| 9 | +variables: |
| 10 | +- group: prod-credentials |
| 11 | + |
| 12 | +jobs: |
| 13 | +- job: Linux |
| 14 | + pool: |
| 15 | + vmImage: ubuntu-16.04 |
| 16 | + steps: |
| 17 | + - template: steps/run.yml |
| 18 | + strategy: |
| 19 | + matrix: |
| 20 | + x86_64-gnu-llvm-6.0: |
| 21 | + IMAGE: x86_64-gnu-llvm-6.0 |
| 22 | + RUST_BACKTRACE: 1 |
| 23 | + |
| 24 | + dist-x86_64-linux: |
| 25 | + IMAGE: dist-x86_64-linux |
| 26 | + DEPLOY: 1 |
| 27 | + |
| 28 | + # "alternate" deployments, these are "nightlies" but have LLVM assertions |
| 29 | + # turned on, they're deployed to a different location primarily for |
| 30 | + # additional testing. |
| 31 | + dist-x86_64-linux-alt: |
| 32 | + IMAGE: dist-x86_64-linux |
| 33 | + DEPLOY_ALT: 1 |
| 34 | + |
| 35 | + # Linux builders, remaining docker images |
| 36 | + arm-android: |
| 37 | + IMAGE: arm-android |
| 38 | + |
| 39 | + armhf-gnu: |
| 40 | + IMAGE: armhf-gnu |
| 41 | + |
| 42 | + dist-various-1: |
| 43 | + IMAGE: dist-various-1 |
| 44 | + DEPLOY: 1 |
| 45 | + |
| 46 | + dist-various-2: |
| 47 | + IMAGE: dist-various-2 |
| 48 | + DEPLOY: 1 |
| 49 | + |
| 50 | + dist-aarch64-linux: |
| 51 | + IMAGE: dist-aarch64-linux |
| 52 | + DEPLOY: 1 |
| 53 | + |
| 54 | + dist-android: |
| 55 | + IMAGE: dist-android |
| 56 | + DEPLOY: 1 |
| 57 | + |
| 58 | + dist-arm-linux: |
| 59 | + IMAGE: dist-arm-linux |
| 60 | + DEPLOY: 1 |
| 61 | + |
| 62 | + dist-armhf-linux: |
| 63 | + IMAGE: dist-armhf-linux |
| 64 | + DEPLOY: 1 |
| 65 | + |
| 66 | + dist-armv7-linux: |
| 67 | + IMAGE: dist-armv7-linux |
| 68 | + DEPLOY: 1 |
| 69 | + |
| 70 | + dist-i586-gnu-i586-i686-musl: |
| 71 | + IMAGE: dist-i586-gnu-i586-i686-musl |
| 72 | + DEPLOY: 1 |
| 73 | + |
| 74 | + dist-i686-freebsd: |
| 75 | + IMAGE: dist-i686-freebsd |
| 76 | + DEPLOY: 1 |
| 77 | + |
| 78 | + dist-i686-linux: |
| 79 | + IMAGE: dist-i686-linux |
| 80 | + DEPLOY: 1 |
| 81 | + |
| 82 | + dist-mips-linux: |
| 83 | + IMAGE: dist-mips-linux |
| 84 | + DEPLOY: 1 |
| 85 | + |
| 86 | + dist-mips64-linux: |
| 87 | + IMAGE: dist-mips64-linux |
| 88 | + DEPLOY: 1 |
| 89 | + |
| 90 | + dist-mips64el-linux: |
| 91 | + IMAGE: dist-mips64el-linux |
| 92 | + DEPLOY: 1 |
| 93 | + |
| 94 | + dist-mipsel-linux: |
| 95 | + IMAGE: dist-mipsel-linux |
| 96 | + DEPLOY: 1 |
| 97 | + |
| 98 | + dist-powerpc-linux: |
| 99 | + IMAGE: dist-powerpc-linux |
| 100 | + DEPLOY: 1 |
| 101 | + |
| 102 | + dist-powerpc64-linux: |
| 103 | + IMAGE: dist-powerpc64-linux |
| 104 | + DEPLOY: 1 |
| 105 | + |
| 106 | + dist-powerpc64le-linux: |
| 107 | + IMAGE: dist-powerpc64le-linux |
| 108 | + DEPLOY: 1 |
| 109 | + |
| 110 | + dist-s390x-linux: |
| 111 | + IMAGE: dist-s390x-linux |
| 112 | + DEPLOY: 1 |
| 113 | + |
| 114 | + dist-x86_64-freebsd: |
| 115 | + IMAGE: dist-x86_64-freebsd |
| 116 | + DEPLOY: 1 |
| 117 | + |
| 118 | + dist-x86_64-musl: |
| 119 | + IMAGE: dist-x86_64-musl |
| 120 | + DEPLOY: 1 |
| 121 | + |
| 122 | + dist-x86_64-netbsd: |
| 123 | + IMAGE: dist-x86_64-netbsd |
| 124 | + DEPLOY: 1 |
| 125 | + |
| 126 | + asmjs: |
| 127 | + IMAGE: asmjs |
| 128 | + i686-gnu: |
| 129 | + IMAGE: i686-gnu |
| 130 | + i686-gnu-nopt: |
| 131 | + IMAGE: i686-gnu-nopt |
| 132 | + test-various: |
| 133 | + IMAGE: test-various |
| 134 | + x86_64-gnu: |
| 135 | + IMAGE: x86_64-gnu |
| 136 | + x86_64-gnu-full-bootstrap: |
| 137 | + IMAGE: x86_64-gnu-full-bootstrap |
| 138 | + x86_64-gnu-aux: |
| 139 | + IMAGE: x86_64-gnu-aux |
| 140 | + x86_64-gnu-tools: |
| 141 | + IMAGE: x86_64-gnu-tools |
| 142 | + # FIXME if: branch = auto OR (type = pull_request AND commit_message =~ /(?i:^update.*\b(rls|rustfmt|clippy|miri|cargo)\b)/) |
| 143 | + x86_64-gnu-debug: |
| 144 | + IMAGE: x86_64-gnu-debug |
| 145 | + x86_64-gnu-nopt: |
| 146 | + IMAGE: x86_64-gnu-nopt |
| 147 | + x86_64-gnu-distcheck: |
| 148 | + IMAGE: x86_64-gnu-distcheck |
| 149 | + mingw-check: |
| 150 | + IMAGE: mingw-check |
| 151 | + |
| 152 | +- job: macOS |
| 153 | + pool: |
| 154 | + vmImage: macos-10.13 |
| 155 | + steps: |
| 156 | + - checkout: self |
| 157 | + fetchDepth: 2 |
| 158 | + - template: steps/run.yml |
| 159 | + strategy: |
| 160 | + matrix: |
| 161 | + # OSX builders running tests, these run the full test suite. |
| 162 | + # NO_DEBUG_ASSERTIONS=1 to make them go faster, but also do have some |
| 163 | + # runners that run `//ignore-debug` tests. |
| 164 | + # |
| 165 | + # Note that the compiler is compiled to target 10.8 here because the Xcode |
| 166 | + # version that we're using, 8.2, cannot compile LLVM for OSX 10.7. |
| 167 | + x86_64-apple: |
| 168 | + RUST_CHECK_TARGET: check |
| 169 | + RUST_CONFIGURE_ARGS: --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc |
| 170 | + RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 |
| 171 | + MACOSX_DEPLOYMENT_TARGET: 10.8 |
| 172 | + MACOSX_STD_DEPLOYMENT_TARGET: 10.7 |
| 173 | + NO_LLVM_ASSERTIONS: 1 |
| 174 | + NO_DEBUG_ASSERTIONS: 1 |
| 175 | + |
| 176 | + dist-x86_64-apple: |
| 177 | + RUST_CHECK_TARGET: dist |
| 178 | + RUST_CONFIGURE_ARGS: --target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-full-tools --enable-sanitizers --enable-profiler --enable-lldb --set rust.jemalloc |
| 179 | + DEPLOY: 1 |
| 180 | + RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 |
| 181 | + MACOSX_DEPLOYMENT_TARGET: 10.7 |
| 182 | + NO_LLVM_ASSERTIONS: 1 |
| 183 | + NO_DEBUG_ASSERTIONS: 1 |
| 184 | + DIST_REQUIRE_ALL_TOOLS: 1 |
| 185 | + |
| 186 | + dist-x86_64-apple-alt: |
| 187 | + RUST_CHECK_TARGET: dist |
| 188 | + RUST_CONFIGURE_ARGS: --enable-extended --enable-profiler --enable-lldb --set rust.jemalloc |
| 189 | + DEPLOY_ALT: 1 |
| 190 | + RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 |
| 191 | + MACOSX_DEPLOYMENT_TARGET: 10.7 |
| 192 | + NO_LLVM_ASSERTIONS: 1 |
| 193 | + NO_DEBUG_ASSERTIONS: 1 |
| 194 | + |
| 195 | + i686-apple: |
| 196 | + RUST_CHECK_TARGET: check |
| 197 | + RUST_CONFIGURE_ARGS: --build=i686-apple-darwin --set rust.jemalloc |
| 198 | + RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 |
| 199 | + MACOSX_DEPLOYMENT_TARGET: 10.8 |
| 200 | + MACOSX_STD_DEPLOYMENT_TARGET: 10.7 |
| 201 | + NO_LLVM_ASSERTIONS: 1 |
| 202 | + NO_DEBUG_ASSERTIONS: 1 |
| 203 | + |
| 204 | + dist-i686-apple: |
| 205 | + RUST_CHECK_TARGET: dist |
| 206 | + RUST_CONFIGURE_ARGS: --build=i686-apple-darwin --enable-full-tools --enable-profiler --enable-lldb --set rust.jemalloc |
| 207 | + DEPLOY: 1 |
| 208 | + RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 |
| 209 | + MACOSX_DEPLOYMENT_TARGET: 10.7 |
| 210 | + NO_LLVM_ASSERTIONS: 1 |
| 211 | + NO_DEBUG_ASSERTIONS: 1 |
| 212 | + DIST_REQUIRE_ALL_TOOLS: 1 |
| 213 | + |
| 214 | + |
| 215 | + |
| 216 | +- job: Windows |
| 217 | + pool: |
| 218 | + vmImage: 'vs2017-win2016' |
| 219 | + steps: |
| 220 | + - template: steps/run.yml |
| 221 | + strategy: |
| 222 | + matrix: |
| 223 | + # 32/64 bit MSVC tests |
| 224 | + x86_64-msvc-1: |
| 225 | + MSYS_BITS: 64 |
| 226 | + RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler |
| 227 | + SCRIPT: make ci-subset-1 |
| 228 | + # FIXME(#59637) |
| 229 | + NO_DEBUG_ASSERTIONS: 1 |
| 230 | + NO_LLVM_ASSERTIONS: 1 |
| 231 | + x86_64-msvc-2: |
| 232 | + MSYS_BITS: 64 |
| 233 | + RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler |
| 234 | + SCRIPT: make ci-subset-2 |
| 235 | + i686-msvc-1: |
| 236 | + MSYS_BITS: 32 |
| 237 | + RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc |
| 238 | + SCRIPT: make ci-subset-1 |
| 239 | + i686-msvc-2: |
| 240 | + MSYS_BITS: 32 |
| 241 | + RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc |
| 242 | + SCRIPT: make ci-subset-2 |
| 243 | + # MSVC aux tests |
| 244 | + x86_64-msvc-aux: |
| 245 | + MSYS_BITS: 64 |
| 246 | + RUST_CHECK_TARGET: check-aux EXCLUDE_CARGO=1 |
| 247 | + RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc |
| 248 | + x86_64-msvc-cargo: |
| 249 | + MSYS_BITS: 64 |
| 250 | + SCRIPT: python x.py test src/tools/cargotest src/tools/cargo |
| 251 | + RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc |
| 252 | + VCVARS_BAT: vcvars64.bat |
| 253 | + # MSVC tools tests |
| 254 | + x86_64-msvc-tools: |
| 255 | + MSYS_BITS: 64 |
| 256 | + SCRIPT: src/ci/docker/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstates.json windows |
| 257 | + RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --save-toolstates=/tmp/toolstates.json --enable-test-miri |
| 258 | + |
| 259 | + # 32/64-bit MinGW builds. |
| 260 | + # |
| 261 | + # We are using MinGW with posix threads since LLVM does not compile with |
| 262 | + # the win32 threads version due to missing support for C++'s std::thread. |
| 263 | + # |
| 264 | + # Instead of relying on the MinGW version installed on appveryor we download |
| 265 | + # and install one ourselves so we won't be surprised by changes to appveyor's |
| 266 | + # build image. |
| 267 | + # |
| 268 | + # Finally, note that the downloads below are all in the `rust-lang-ci` S3 |
| 269 | + # bucket, but they cleraly didn't originate there! The downloads originally |
| 270 | + # came from the mingw-w64 SourceForge download site. Unfortunately |
| 271 | + # SourceForge is notoriously flaky, so we mirror it on our own infrastructure. |
| 272 | + i686-mingw-1: |
| 273 | + MSYS_BITS: 32 |
| 274 | + RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu |
| 275 | + SCRIPT: make ci-subset-1 |
| 276 | + MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror |
| 277 | + MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z |
| 278 | + MINGW_DIR: mingw32 |
| 279 | + # FIXME(#59637) |
| 280 | + NO_DEBUG_ASSERTIONS: 1 |
| 281 | + NO_LLVM_ASSERTIONS: 1 |
| 282 | + i686-mingw-2: |
| 283 | + MSYS_BITS: 32 |
| 284 | + RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu |
| 285 | + SCRIPT: make ci-subset-2 |
| 286 | + MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror |
| 287 | + MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z |
| 288 | + MINGW_DIR: mingw32 |
| 289 | + x86_64-mingw-1: |
| 290 | + MSYS_BITS: 64 |
| 291 | + SCRIPT: make ci-subset-1 |
| 292 | + RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu |
| 293 | + MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror |
| 294 | + MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z |
| 295 | + MINGW_DIR: mingw64 |
| 296 | + # FIXME(#59637) |
| 297 | + NO_DEBUG_ASSERTIONS: 1 |
| 298 | + NO_LLVM_ASSERTIONS: 1 |
| 299 | + x86_64-mingw-2: |
| 300 | + MSYS_BITS: 64 |
| 301 | + SCRIPT: make ci-subset-2 |
| 302 | + RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu |
| 303 | + MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror |
| 304 | + MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z |
| 305 | + MINGW_DIR: mingw64 |
| 306 | + |
| 307 | + # 32/64 bit MSVC and GNU deployment |
| 308 | + dist-x86_64-msvc: |
| 309 | + RUST_CONFIGURE_ARGS: > |
| 310 | + --build=x86_64-pc-windows-msvc |
| 311 | + --target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc |
| 312 | + --enable-full-tools |
| 313 | + --enable-profiler |
| 314 | + SCRIPT: python x.py dist |
| 315 | + DIST_REQUIRE_ALL_TOOLS: 1 |
| 316 | + DEPLOY: 1 |
| 317 | + dist-i686-msvc: |
| 318 | + RUST_CONFIGURE_ARGS: > |
| 319 | + --build=i686-pc-windows-msvc |
| 320 | + --target=i586-pc-windows-msvc |
| 321 | + --enable-full-tools |
| 322 | + --enable-profiler |
| 323 | + SCRIPT: python x.py dist |
| 324 | + DIST_REQUIRE_ALL_TOOLS: 1 |
| 325 | + DEPLOY: 1 |
| 326 | + dist-i686-mingw: |
| 327 | + MSYS_BITS: 32 |
| 328 | + RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools |
| 329 | + SCRIPT: python x.py dist |
| 330 | + MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror |
| 331 | + MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z |
| 332 | + MINGW_DIR: mingw32 |
| 333 | + DIST_REQUIRE_ALL_TOOLS: 1 |
| 334 | + DEPLOY: 1 |
| 335 | + dist-x86_64-mingw: |
| 336 | + MSYS_BITS: 64 |
| 337 | + SCRIPT: python x.py dist |
| 338 | + RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-full-tools |
| 339 | + MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror |
| 340 | + MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z |
| 341 | + MINGW_DIR: mingw64 |
| 342 | + DIST_REQUIRE_ALL_TOOLS: 1 |
| 343 | + DEPLOY: 1 |
| 344 | + |
| 345 | + # "alternate" deployment, see .travis.yml for more info |
| 346 | + dist-x86_64-msvc-alt: |
| 347 | + MSYS_BITS: 64 |
| 348 | + RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler |
| 349 | + SCRIPT: python x.py dist |
| 350 | + DEPLOY_ALT: 1 |
0 commit comments