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