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,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 timeoutInMinutes: 600
107 vmImage: 'vs2017-win2016'
109 - template: steps/run.yml
112 # 32/64 bit MSVC tests
114 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
115 SCRIPT: make ci-subset-1
117 NO_DEBUG_ASSERTIONS: 1
118 NO_LLVM_ASSERTIONS: 1
120 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
121 SCRIPT: make ci-subset-2
123 RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
124 SCRIPT: make ci-subset-1
126 NO_DEBUG_ASSERTIONS: 1
127 NO_LLVM_ASSERTIONS: 1
129 RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
130 SCRIPT: make ci-subset-2
132 NO_DEBUG_ASSERTIONS: 1
133 NO_LLVM_ASSERTIONS: 1
136 RUST_CHECK_TARGET: check-aux EXCLUDE_CARGO=1
137 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
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
143 NO_DEBUG_ASSERTIONS: 1
144 NO_LLVM_ASSERTIONS: 1
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
150 # 32/64-bit MinGW builds.
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.
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
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.
164 RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
165 SCRIPT: make ci-mingw-subset-1
168 NO_DEBUG_ASSERTIONS: 1
169 NO_LLVM_ASSERTIONS: 1
171 RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
172 SCRIPT: make ci-mingw-subset-2
175 SCRIPT: make ci-mingw-subset-1
176 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
179 NO_DEBUG_ASSERTIONS: 1
180 NO_LLVM_ASSERTIONS: 1
182 SCRIPT: make ci-mingw-subset-2
183 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
186 # 32/64 bit MSVC and GNU deployment
188 RUST_CONFIGURE_ARGS: >-
189 --build=x86_64-pc-windows-msvc
190 --target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc
193 SCRIPT: python x.py dist
194 DIST_REQUIRE_ALL_TOOLS: 1
196 RUST_CONFIGURE_ARGS: >-
197 --build=i686-pc-windows-msvc
198 --target=i586-pc-windows-msvc
201 SCRIPT: python x.py dist
202 DIST_REQUIRE_ALL_TOOLS: 1
204 RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools --enable-profiler
205 SCRIPT: python x.py dist
207 DIST_REQUIRE_ALL_TOOLS: 1
209 SCRIPT: python x.py dist
210 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-full-tools --enable-profiler
212 DIST_REQUIRE_ALL_TOOLS: 1
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