]> git.proxmox.com Git - rustc.git/blob - src/ci/azure-pipelines/auto.yml
New upstream version 1.45.0+dfsg1
[rustc.git] / src / ci / azure-pipelines / auto.yml
1 #####################################
2 ## READ BEFORE CHANGING THIS ##
3 #####################################
4
5 # We're in the process of evaluating GitHub Actions as a possible replacement
6 # for Azure Pipelines, and at the moment the configuration is duplicated
7 # between the two CI providers. Be sure to also change the configuration in
8 # src/ci/github-actions when changing this file.
9
10 #####################################
11
12 #
13 # Azure Pipelines "auto" branch build for Rust on Linux, macOS, and Windows.
14 #
15
16 pr: none
17 trigger:
18 - auto
19
20 variables:
21 - group: prod-credentials
22
23 jobs:
24 - job: Linux
25 timeoutInMinutes: 600
26 pool:
27 vmImage: ubuntu-16.04
28 steps:
29 - template: steps/run.yml
30 strategy:
31 matrix:
32 x86_64-gnu-llvm-8:
33 RUST_BACKTRACE: 1
34 dist-x86_64-linux: {}
35 dist-x86_64-linux-alt:
36 IMAGE: dist-x86_64-linux
37 arm-android: {}
38 armhf-gnu: {}
39 dist-various-1: {}
40 dist-various-2: {}
41 dist-aarch64-linux: {}
42 dist-android: {}
43 dist-arm-linux: {}
44 dist-armhf-linux: {}
45 dist-armv7-linux: {}
46 dist-i586-gnu-i586-i686-musl: {}
47 dist-i686-freebsd: {}
48 dist-i686-linux: {}
49 dist-mips-linux: {}
50 dist-mips64-linux: {}
51 dist-mips64el-linux: {}
52 dist-mipsel-linux: {}
53 dist-powerpc-linux: {}
54 dist-powerpc64-linux: {}
55 dist-powerpc64le-linux: {}
56 dist-s390x-linux: {}
57 dist-x86_64-freebsd: {}
58 dist-x86_64-musl: {}
59 dist-x86_64-netbsd: {}
60 i686-gnu: {}
61 i686-gnu-nopt: {}
62 test-various: {}
63 wasm32: {}
64 x86_64-gnu: {}
65 x86_64-gnu-full-bootstrap: {}
66 x86_64-gnu-aux: {}
67 x86_64-gnu-tools:
68 DEPLOY_TOOLSTATES_JSON: toolstates-linux.json
69 x86_64-gnu-debug: {}
70 x86_64-gnu-nopt: {}
71 x86_64-gnu-distcheck: {}
72 mingw-check: {}
73
74 - job: macOS
75 timeoutInMinutes: 600
76 pool:
77 vmImage: macos-10.15
78 steps:
79 - template: steps/run.yml
80 strategy:
81 matrix:
82 # OSX builders running tests, these run the full test suite.
83 # NO_DEBUG_ASSERTIONS=1 to make them go faster, but also do have some
84 # runners that run `//ignore-debug` tests.
85 #
86 # Note that the compiler is compiled to target 10.8 here because the Xcode
87 # version that we're using, 8.2, cannot compile LLVM for OSX 10.7.
88 x86_64-apple:
89 SCRIPT: ./x.py test
90 INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc
91 RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
92 MACOSX_DEPLOYMENT_TARGET: 10.8
93 MACOSX_STD_DEPLOYMENT_TARGET: 10.7
94 NO_LLVM_ASSERTIONS: 1
95 NO_DEBUG_ASSERTIONS: 1
96
97 dist-x86_64-apple:
98 SCRIPT: ./x.py dist
99 INITIAL_RUST_CONFIGURE_ARGS: --target=aarch64-apple-ios,x86_64-apple-ios --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc
100 RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
101 MACOSX_DEPLOYMENT_TARGET: 10.7
102 NO_LLVM_ASSERTIONS: 1
103 NO_DEBUG_ASSERTIONS: 1
104 DIST_REQUIRE_ALL_TOOLS: 1
105
106 dist-x86_64-apple-alt:
107 SCRIPT: ./x.py dist
108 INITIAL_RUST_CONFIGURE_ARGS: --enable-extended --enable-profiler --set rust.jemalloc
109 RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
110 MACOSX_DEPLOYMENT_TARGET: 10.7
111 NO_LLVM_ASSERTIONS: 1
112 NO_DEBUG_ASSERTIONS: 1
113
114
115 - job: Windows
116 timeoutInMinutes: 600
117 pool:
118 vmImage: 'vs2017-win2016'
119 steps:
120 - template: steps/run.yml
121 strategy:
122 matrix:
123 # 32/64 bit MSVC tests
124 x86_64-msvc-1:
125 INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
126 SCRIPT: make ci-subset-1
127 # FIXME(#59637)
128 NO_DEBUG_ASSERTIONS: 1
129 NO_LLVM_ASSERTIONS: 1
130 x86_64-msvc-2:
131 INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
132 SCRIPT: make ci-subset-2
133 i686-msvc-1:
134 INITIAL_RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
135 SCRIPT: make ci-subset-1
136 # FIXME(#59637)
137 NO_DEBUG_ASSERTIONS: 1
138 NO_LLVM_ASSERTIONS: 1
139 i686-msvc-2:
140 INITIAL_RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
141 SCRIPT: make ci-subset-2
142 # FIXME(#59637)
143 NO_DEBUG_ASSERTIONS: 1
144 NO_LLVM_ASSERTIONS: 1
145 # MSVC aux tests
146 x86_64-msvc-aux:
147 RUST_CHECK_TARGET: check-aux EXCLUDE_CARGO=1
148 INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
149 x86_64-msvc-cargo:
150 SCRIPT: python x.py test src/tools/cargotest src/tools/cargo
151 INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-lld
152 VCVARS_BAT: vcvars64.bat
153 # FIXME(#59637)
154 NO_DEBUG_ASSERTIONS: 1
155 NO_LLVM_ASSERTIONS: 1
156 # MSVC tools tests
157 x86_64-msvc-tools:
158 SCRIPT: src/ci/docker/x86_64-gnu-tools/checktools.sh x.py
159 INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --save-toolstates=/tmp/toolstate/toolstates.json
160
161 # 32/64-bit MinGW builds.
162 #
163 # We are using MinGW with posix threads since LLVM does not compile with
164 # the win32 threads version due to missing support for C++'s std::thread.
165 #
166 # Instead of relying on the MinGW version installed on appveryor we download
167 # and install one ourselves so we won't be surprised by changes to appveyor's
168 # build image.
169 #
170 # Finally, note that the downloads below are all in the `rust-lang-ci` S3
171 # bucket, but they cleraly didn't originate there! The downloads originally
172 # came from the mingw-w64 SourceForge download site. Unfortunately
173 # SourceForge is notoriously flaky, so we mirror it on our own infrastructure.
174 i686-mingw-1:
175 INITIAL_RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
176 SCRIPT: make ci-mingw-subset-1
177 CUSTOM_MINGW: 1
178 # FIXME(#59637)
179 NO_DEBUG_ASSERTIONS: 1
180 NO_LLVM_ASSERTIONS: 1
181 i686-mingw-2:
182 INITIAL_RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
183 SCRIPT: make ci-mingw-subset-2
184 CUSTOM_MINGW: 1
185 x86_64-mingw-1:
186 SCRIPT: make ci-mingw-subset-1
187 INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
188 CUSTOM_MINGW: 1
189 # FIXME(#59637)
190 NO_DEBUG_ASSERTIONS: 1
191 NO_LLVM_ASSERTIONS: 1
192 x86_64-mingw-2:
193 SCRIPT: make ci-mingw-subset-2
194 INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
195 CUSTOM_MINGW: 1
196
197 # 32/64 bit MSVC and GNU deployment
198 dist-x86_64-msvc:
199 INITIAL_RUST_CONFIGURE_ARGS: >-
200 --build=x86_64-pc-windows-msvc
201 --target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc
202 --enable-full-tools
203 --enable-profiler
204 SCRIPT: python x.py dist
205 DIST_REQUIRE_ALL_TOOLS: 1
206 dist-i686-msvc:
207 INITIAL_RUST_CONFIGURE_ARGS: >-
208 --build=i686-pc-windows-msvc
209 --target=i586-pc-windows-msvc
210 --enable-full-tools
211 --enable-profiler
212 SCRIPT: python x.py dist
213 DIST_REQUIRE_ALL_TOOLS: 1
214 dist-i686-mingw:
215 INITIAL_RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools --enable-profiler
216 SCRIPT: python x.py dist
217 CUSTOM_MINGW: 1
218 DIST_REQUIRE_ALL_TOOLS: 1
219 dist-x86_64-mingw:
220 SCRIPT: python x.py dist
221 INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-full-tools --enable-profiler
222 CUSTOM_MINGW: 1
223 DIST_REQUIRE_ALL_TOOLS: 1
224
225 # "alternate" deployment, see .travis.yml for more info
226 dist-x86_64-msvc-alt:
227 INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
228 SCRIPT: python x.py dist