-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Azure Pipelines configuration #60777
Changes from 14 commits
699376a
e234a90
c50517a
abd4b3a
869ddd8
7dfd8ce
aab0bb4
94f7660
06bc0da
5db55e6
da94978
694ea76
807b7dd
4965ffd
92bf1e6
30b008f
bf639a1
a89e8d2
f23c1ba
d27cb82
9f37b3a
79d28c2
1be9fe6
4183f3c
91b1655
528cce9
7b266ff
804ec5f
fa8d3b5
0843207
751597f
9b8af06
12f3701
9843a79
e6830c1
1daab47
67db230
d2304e1
0e5f02f
571366f
a83250d
ebdc36e
55108b3
e8f0e70
a225551
7b7e172
0f4b546
8d42b87
190d198
beea4f5
78965f4
e764f47
fe3dd0b
e0ed2a3
e5418f6
36ee777
a8ac80b
24f262f
2244ca3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,356 @@ | ||
# | ||
# Azure Pipelines "auto" branch build for Rust on Linux, macOS, and Windows. | ||
# | ||
|
||
pr: none | ||
trigger: | ||
- auto | ||
pietroalbini marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
variables: | ||
- group: caching | ||
|
||
jobs: | ||
- job: Linux | ||
timeoutInMinutes: 180 | ||
pool: | ||
vmImage: ubuntu-16.04 | ||
steps: | ||
- template: steps/linux.yml | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would it be possible to merge |
||
strategy: | ||
matrix: | ||
x86_64-gnu-llvm-6.0: | ||
IMAGE: x86_64-gnu-llvm-6.0 | ||
RUST_BACKTRACE: 1 | ||
|
||
dist-x86_64-linux: | ||
IMAGE: dist-x86_64-linux | ||
DEPLOY: 1 | ||
|
||
# "alternate" deployments, these are "nightlies" but have LLVM assertions | ||
# turned on, they're deployed to a different location primarily for | ||
# additional testing. | ||
dist-x86_64-linux-alt: | ||
IMAGE: dist-x86_64-linux | ||
DEPLOY_ALT: 1 | ||
|
||
# # Linux builders, remaining docker images | ||
# arm-android: | ||
# IMAGE: arm-android | ||
# | ||
# armhf-gnu: | ||
# IMAGE: armhf-gnu | ||
# | ||
# dist-various-1: | ||
# IMAGE: dist-various-1 | ||
# DEPLOY: 1 | ||
# | ||
# dist-various-2: | ||
# IMAGE: dist-various-2 | ||
# DEPLOY: 1 | ||
# | ||
# dist-aarch64-linux: | ||
# IMAGE: dist-aarch64-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-android: | ||
# IMAGE: dist-android | ||
# DEPLOY: 1 | ||
# | ||
# dist-arm-linux: | ||
# IMAGE: dist-arm-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-armhf-linux: | ||
# IMAGE: dist-armhf-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-armv7-linux: | ||
# IMAGE: dist-armv7-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-i586-gnu-i586-i686-musl: | ||
# IMAGE: dist-i586-gnu-i586-i686-musl | ||
# DEPLOY: 1 | ||
# | ||
# dist-i686-freebsd: | ||
# IMAGE: dist-i686-freebsd | ||
# DEPLOY: 1 | ||
# | ||
# dist-i686-linux: | ||
# IMAGE: dist-i686-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-mips-linux: | ||
# IMAGE: dist-mips-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-mips64-linux: | ||
# IMAGE: dist-mips64-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-mips64el-linux: | ||
# IMAGE: dist-mips64el-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-mipsel-linux: | ||
# IMAGE: dist-mipsel-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-powerpc-linux: | ||
# IMAGE: dist-powerpc-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-powerpc64-linux: | ||
# IMAGE: dist-powerpc64-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-powerpc64le-linux: | ||
# IMAGE: dist-powerpc64le-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-s390x-linux: | ||
# IMAGE: dist-s390x-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-x86_64-freebsd: | ||
# IMAGE: dist-x86_64-freebsd | ||
# DEPLOY: 1 | ||
# | ||
# dist-x86_64-musl: | ||
# IMAGE: dist-x86_64-musl | ||
# DEPLOY: 1 | ||
# | ||
# dist-x86_64-netbsd: | ||
# IMAGE: dist-x86_64-netbsd | ||
# DEPLOY: 1 | ||
# | ||
# asmjs: | ||
# IMAGE: asmjs | ||
# i686-gnu: | ||
# IMAGE: i686-gnu | ||
# i686-gnu-nopt: | ||
# IMAGE: i686-gnu-nopt | ||
# test-various: | ||
# IMAGE: test-various | ||
# x86_64-gnu: | ||
# IMAGE: x86_64-gnu | ||
# x86_64-gnu-full-bootstrap: | ||
# IMAGE: x86_64-gnu-full-bootstrap | ||
# x86_64-gnu-aux: | ||
# IMAGE: x86_64-gnu-aux | ||
# x86_64-gnu-tools: | ||
# IMAGE: x86_64-gnu-tools | ||
# # FIXME if: branch = auto OR (type = pull_request AND commit_message =~ /(?i:^update.*\b(rls|rustfmt|clippy|miri|cargo)\b)/) | ||
# x86_64-gnu-debug: | ||
# IMAGE: x86_64-gnu-debug | ||
# x86_64-gnu-nopt: | ||
# IMAGE: x86_64-gnu-nopt | ||
# x86_64-gnu-distcheck: | ||
# IMAGE: x86_64-gnu-distcheck | ||
mingw-check: | ||
IMAGE: mingw-check | ||
|
||
- job: macOS | ||
timeoutInMinutes: 180 | ||
pool: | ||
vmImage: macos-10.13 | ||
steps: | ||
- checkout: self | ||
fetchDepth: 2 | ||
- template: steps/macos.yml | ||
strategy: | ||
matrix: | ||
# macOS builders. These are placed near the beginning because they are very | ||
# slow to run. | ||
pietroalbini marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
# OSX builders running tests, these run the full test suite. | ||
# NO_DEBUG_ASSERTIONS=1 to make them go faster, but also do have some | ||
# runners that run `//ignore-debug` tests. | ||
# | ||
# Note that the compiler is compiled to target 10.8 here because the Xcode | ||
# version that we're using, 8.2, cannot compile LLVM for OSX 10.7. | ||
x86_64-apple: | ||
RUST_CHECK_TARGET: check | ||
RUST_CONFIGURE_ARGS: --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc | ||
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 | ||
MACOSX_DEPLOYMENT_TARGET: 10.8 | ||
MACOSX_STD_DEPLOYMENT_TARGET: 10.7 | ||
NO_LLVM_ASSERTIONS: 1 | ||
NO_DEBUG_ASSERTIONS: 1 | ||
|
||
dist-x86_64-apple: | ||
RUST_CHECK_TARGET: 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: | ||
# RUST_CHECK_TARGET: 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 | ||
# | ||
# i686-apple: | ||
# RUST_CHECK_TARGET: check | ||
# RUST_CONFIGURE_ARGS: --build=i686-apple-darwin --set rust.jemalloc | ||
# RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 | ||
# MACOSX_DEPLOYMENT_TARGET: 10.8 | ||
# MACOSX_STD_DEPLOYMENT_TARGET: 10.7 | ||
# NO_LLVM_ASSERTIONS: 1 | ||
# NO_DEBUG_ASSERTIONS: 1 | ||
# | ||
# dist-i686-apple: | ||
# RUST_CHECK_TARGET: dist | ||
# RUST_CONFIGURE_ARGS: --build=i686-apple-darwin --enable-full-tools --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 | ||
|
||
|
||
|
||
- job: Windows | ||
timeoutInMinutes: 180 | ||
pool: | ||
vmImage: 'vs2017-win2016' | ||
pietroalbini marked this conversation as resolved.
Show resolved
Hide resolved
|
||
steps: | ||
- template: steps/windows.yml | ||
strategy: | ||
matrix: | ||
# # 32/64 bit MSVC tests | ||
# x86_64-msvc-1: | ||
# MSYS_BITS: 64 | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler | ||
# SCRIPT: make ci-subset-1 | ||
# # FIXME(#59637) | ||
# NO_DEBUG_ASSERTIONS: 1 | ||
# NO_LLVM_ASSERTIONS: 1 | ||
# x86_64-msvc-2: | ||
# MSYS_BITS: 64 | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler | ||
# SCRIPT: make ci-subset-2 | ||
# i686-msvc-1: | ||
# MSYS_BITS: 32 | ||
# RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc | ||
# SCRIPT: make ci-subset-1 | ||
# i686-msvc-2: | ||
# MSYS_BITS: 32 | ||
# RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc | ||
# SCRIPT: make ci-subset-2 | ||
# # MSVC aux tests | ||
# x86_64-msvc-aux: | ||
# MSYS_BITS: 64 | ||
# RUST_CHECK_TARGET: check-aux EXCLUDE_CARGO=1 | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc | ||
# x86_64-msvc-cargo: | ||
# MSYS_BITS: 64 | ||
# SCRIPT: python x.py test src/tools/cargotest src/tools/cargo | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc | ||
# VCVARS_BAT: vcvars64.bat | ||
# # MSVC tools tests | ||
# x86_64-msvc-tools: | ||
# MSYS_BITS: 64 | ||
# SCRIPT: src/ci/docker/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstates.json windows | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --save-toolstates=/tmp/toolstates.json --enable-test-miri | ||
# | ||
# # 32/64-bit MinGW builds. | ||
# # | ||
# # We are using MinGW with posix threads since LLVM does not compile with | ||
# # the win32 threads version due to missing support for C++'s std::thread. | ||
# # | ||
# # Instead of relying on the MinGW version installed on appveryor we download | ||
# # and install one ourselves so we won't be surprised by changes to appveyor's | ||
# # build image. | ||
# # | ||
# # Finally, note that the downloads below are all in the `rust-lang-ci` S3 | ||
# # bucket, but they cleraly didn't originate there! The downloads originally | ||
# # came from the mingw-w64 SourceForge download site. Unfortunately | ||
# # SourceForge is notoriously flaky, so we mirror it on our own infrastructure. | ||
# i686-mingw-1: | ||
# MSYS_BITS: 32 | ||
# RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu | ||
# SCRIPT: make ci-subset-1 | ||
# MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror | ||
# MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z | ||
# MINGW_DIR: mingw32 | ||
# # FIXME(#59637) | ||
# NO_DEBUG_ASSERTIONS: 1 | ||
# NO_LLVM_ASSERTIONS: 1 | ||
# i686-mingw-2: | ||
# MSYS_BITS: 32 | ||
# RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu | ||
# SCRIPT: make ci-subset-2 | ||
# MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror | ||
# MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z | ||
# MINGW_DIR: mingw32 | ||
# x86_64-mingw-1: | ||
# MSYS_BITS: 64 | ||
# SCRIPT: make ci-subset-1 | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu | ||
# MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror | ||
# MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z | ||
# MINGW_DIR: mingw64 | ||
# # FIXME(#59637) | ||
# NO_DEBUG_ASSERTIONS: 1 | ||
# NO_LLVM_ASSERTIONS: 1 | ||
# x86_64-mingw-2: | ||
# MSYS_BITS: 64 | ||
# SCRIPT: make ci-subset-2 | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu | ||
# MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror | ||
# MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z | ||
# MINGW_DIR: mingw64 | ||
|
||
# 32/64 bit MSVC and GNU deployment | ||
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-i686-msvc: | ||
# RUST_CONFIGURE_ARGS: > | ||
# --build=i686-pc-windows-msvc | ||
# --target=i586-pc-windows-msvc | ||
# --enable-full-tools | ||
# --enable-profiler | ||
# SCRIPT: python x.py dist | ||
# DIST_REQUIRE_ALL_TOOLS: 1 | ||
# DEPLOY: 1 | ||
# dist-i686-mingw: | ||
# MSYS_BITS: 32 | ||
# RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools | ||
# SCRIPT: python x.py dist | ||
# MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror | ||
# MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z | ||
# MINGW_DIR: mingw32 | ||
# DIST_REQUIRE_ALL_TOOLS: 1 | ||
# DEPLOY: 1 | ||
# dist-x86_64-mingw: | ||
# MSYS_BITS: 64 | ||
# SCRIPT: python x.py dist | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-full-tools | ||
# MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror | ||
# MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z | ||
# MINGW_DIR: mingw64 | ||
# DIST_REQUIRE_ALL_TOOLS: 1 | ||
# DEPLOY: 1 | ||
# | ||
# # "alternate" deployment, see .travis.yml for more info | ||
# 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 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# | ||
pietroalbini marked this conversation as resolved.
Show resolved
Hide resolved
|
||
# Azure Pipelines job to publish toolstate. Only triggers on pushes to master. | ||
# | ||
|
||
pr: none | ||
trigger: | ||
- master | ||
|
||
pool: | ||
vmImage: ubuntu-16.04 | ||
|
||
steps: | ||
- checkout: self | ||
fetchDepth: 2 | ||
|
||
- script: | | ||
export MESSAGE_FILE=$(mktemp -t msg.XXXXXX) | ||
. src/ci/docker/x86_64-gnu-tools/repo.sh | ||
# FIXME(pietro): committing is disabled until we switch to Azure Pipelines | ||
# as the source of truth, or until we setup a separate test repo. | ||
#commit_toolstate_change "$MESSAGE_FILE" "$BUILD_SOURCESDIRECTORY/src/tools/publish_toolstate.py" "$(git rev-parse HEAD)" "$(git log --format=%s -n1 HEAD)" "$MESSAGE_FILE" "$TOOLSTATE_REPO_ACCESS_TOKEN" | ||
displayName: Publish toolstate | ||
env: | ||
TOOLSTATE_REPO_ACCESS_TOKEN: $(TOOLSTATE_REPO_ACCESS_TOKEN_SECRET) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This space breaks stuff: