2 # Azure Pipelines "auto" branch build for Rust on Linux, macOS, and Windows.
10 - group: prod-credentials
18 - template: steps/run.yml
24 dist-x86_64-linux-alt:
25 IMAGE: dist-x86_64-linux
30 dist-aarch64-linux: {}
35 dist-i586-gnu-i586-i686-musl: {}
40 dist-mips64el-linux: {}
42 dist-powerpc-linux: {}
43 dist-powerpc64-linux: {}
44 dist-powerpc64le-linux: {}
46 dist-x86_64-freebsd: {}
48 dist-x86_64-netbsd: {}
54 x86_64-gnu-full-bootstrap: {}
57 DEPLOY_TOOLSTATES_JSON: toolstates-linux.json
60 x86_64-gnu-distcheck: {}
68 - template: steps/run.yml
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.
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.
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
84 NO_DEBUG_ASSERTIONS: 1
88 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 --set rust.jemalloc
89 RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
90 MACOSX_DEPLOYMENT_TARGET: 10.7
92 NO_DEBUG_ASSERTIONS: 1
93 DIST_REQUIRE_ALL_TOOLS: 1
95 dist-x86_64-apple-alt:
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
105 RUST_CONFIGURE_ARGS: --build=i686-apple-darwin --set rust.jemalloc
106 RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
107 MACOSX_DEPLOYMENT_TARGET: 10.8
108 MACOSX_STD_DEPLOYMENT_TARGET: 10.7
109 NO_LLVM_ASSERTIONS: 1
110 NO_DEBUG_ASSERTIONS: 1
114 RUST_CONFIGURE_ARGS: --build=i686-apple-darwin --enable-full-tools --enable-profiler --set rust.jemalloc
115 RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
116 MACOSX_DEPLOYMENT_TARGET: 10.7
117 NO_LLVM_ASSERTIONS: 1
118 NO_DEBUG_ASSERTIONS: 1
119 DIST_REQUIRE_ALL_TOOLS: 1
124 timeoutInMinutes: 600
126 vmImage: 'vs2017-win2016'
128 - template: steps/run.yml
131 # 32/64 bit MSVC tests
133 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
134 SCRIPT: make ci-subset-1
136 NO_DEBUG_ASSERTIONS: 1
137 NO_LLVM_ASSERTIONS: 1
139 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
140 SCRIPT: make ci-subset-2
142 RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
143 SCRIPT: make ci-subset-1
145 NO_DEBUG_ASSERTIONS: 1
146 NO_LLVM_ASSERTIONS: 1
148 RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
149 SCRIPT: make ci-subset-2
151 NO_DEBUG_ASSERTIONS: 1
152 NO_LLVM_ASSERTIONS: 1
155 RUST_CHECK_TARGET: check-aux EXCLUDE_CARGO=1
156 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
158 SCRIPT: python x.py test src/tools/cargotest src/tools/cargo
159 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
160 VCVARS_BAT: vcvars64.bat
162 NO_DEBUG_ASSERTIONS: 1
163 NO_LLVM_ASSERTIONS: 1
166 SCRIPT: src/ci/docker/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstate/toolstates.json windows
167 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --save-toolstates=/tmp/toolstate/toolstates.json
169 # 32/64-bit MinGW builds.
171 # We are using MinGW with posix threads since LLVM does not compile with
172 # the win32 threads version due to missing support for C++'s std::thread.
174 # Instead of relying on the MinGW version installed on appveryor we download
175 # and install one ourselves so we won't be surprised by changes to appveyor's
178 # Finally, note that the downloads below are all in the `rust-lang-ci` S3
179 # bucket, but they cleraly didn't originate there! The downloads originally
180 # came from the mingw-w64 SourceForge download site. Unfortunately
181 # SourceForge is notoriously flaky, so we mirror it on our own infrastructure.
183 RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
184 SCRIPT: make ci-mingw-subset-1
187 NO_DEBUG_ASSERTIONS: 1
188 NO_LLVM_ASSERTIONS: 1
190 RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
191 SCRIPT: make ci-mingw-subset-2
194 SCRIPT: make ci-mingw-subset-1
195 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
198 NO_DEBUG_ASSERTIONS: 1
199 NO_LLVM_ASSERTIONS: 1
201 SCRIPT: make ci-mingw-subset-2
202 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
205 # 32/64 bit MSVC and GNU deployment
207 RUST_CONFIGURE_ARGS: >-
208 --build=x86_64-pc-windows-msvc
209 --target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc
212 SCRIPT: python x.py dist
213 DIST_REQUIRE_ALL_TOOLS: 1
215 RUST_CONFIGURE_ARGS: >-
216 --build=i686-pc-windows-msvc
217 --target=i586-pc-windows-msvc
220 SCRIPT: python x.py dist
221 DIST_REQUIRE_ALL_TOOLS: 1
223 RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools --enable-profiler
224 SCRIPT: python x.py dist
226 DIST_REQUIRE_ALL_TOOLS: 1
228 SCRIPT: python x.py dist
229 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-full-tools --enable-profiler
231 DIST_REQUIRE_ALL_TOOLS: 1
233 # "alternate" deployment, see .travis.yml for more info
234 dist-x86_64-msvc-alt:
235 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
236 SCRIPT: python x.py dist