ebdf42e965
Since #61212 we've been timing out on OSX, and this looks to be because we're building tools like Cargo and the RLS twice instead of once. This turns out to be a slight bug in our configuration. CI builders using the `RUST_CHECK_TARGET` directive actually execute `make all` just before their acual target. In `make all` we're building a stage2 cargo, and then in `make dist` we're building a stage1 cargo. Other builders use `SCRIPT` which provides explicit control over what `x.py` script, for example, is used to execute the build. This moves almost all targets to using `SCRIPT` to ensure that we're explicitly specifying what's being built where. Additionally this updates the logic of `RUST_CHECK_TARGET` to remove the pre-flight tidy as well as the pre-flight `make all`. The system LLVM builder (run on PRs) now explicitly runs tidy first and then runs the rest of the test suite.
79 lines
2.0 KiB
YAML
79 lines
2.0 KiB
YAML
#
|
|
# Azure Pipelines "auto" branch build for Rust on Linux, macOS, and Windows.
|
|
#
|
|
|
|
pr: none
|
|
trigger:
|
|
- try
|
|
|
|
variables:
|
|
- group: prod-credentials
|
|
|
|
jobs:
|
|
- job: Linux
|
|
timeoutInMinutes: 600
|
|
pool:
|
|
vmImage: ubuntu-16.04
|
|
steps:
|
|
- template: steps/run.yml
|
|
strategy:
|
|
matrix:
|
|
dist-x86_64-linux:
|
|
IMAGE: dist-x86_64-linux
|
|
DEPLOY: 1
|
|
|
|
dist-x86_64-linux-alt:
|
|
IMAGE: dist-x86_64-linux
|
|
DEPLOY_ALT: 1
|
|
|
|
- job: macOS
|
|
timeoutInMinutes: 600
|
|
pool:
|
|
vmImage: macos-10.13
|
|
steps:
|
|
- template: steps/run.yml
|
|
strategy:
|
|
matrix:
|
|
dist-x86_64-apple:
|
|
SCRIPT: ./x.py dist
|
|
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
|
|
DEPLOY: 1
|
|
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
|
|
MACOSX_DEPLOYMENT_TARGET: 10.7
|
|
NO_LLVM_ASSERTIONS: 1
|
|
NO_DEBUG_ASSERTIONS: 1
|
|
DIST_REQUIRE_ALL_TOOLS: 1
|
|
|
|
dist-x86_64-apple-alt:
|
|
SCRIPT: ./x.py dist
|
|
RUST_CONFIGURE_ARGS: --enable-extended --enable-profiler --enable-lldb --set rust.jemalloc
|
|
DEPLOY_ALT: 1
|
|
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
|
|
MACOSX_DEPLOYMENT_TARGET: 10.7
|
|
NO_LLVM_ASSERTIONS: 1
|
|
NO_DEBUG_ASSERTIONS: 1
|
|
|
|
- job: Windows
|
|
timeoutInMinutes: 600
|
|
pool:
|
|
vmImage: 'vs2017-win2016'
|
|
steps:
|
|
- template: steps/run.yml
|
|
strategy:
|
|
matrix:
|
|
dist-x86_64-msvc:
|
|
RUST_CONFIGURE_ARGS: >
|
|
--build=x86_64-pc-windows-msvc
|
|
--target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc
|
|
--enable-full-tools
|
|
--enable-profiler
|
|
SCRIPT: python x.py dist
|
|
DIST_REQUIRE_ALL_TOOLS: 1
|
|
DEPLOY: 1
|
|
|
|
dist-x86_64-msvc-alt:
|
|
MSYS_BITS: 64
|
|
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
|
|
SCRIPT: python x.py dist
|
|
DEPLOY_ALT: 1
|