1 #####################################
2 ## READ BEFORE CHANGING THIS ##
3 #####################################
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.
10 #####################################
13 # Azure Pipelines "auto" branch build for Rust on Linux, macOS, and Windows.
21 - group: prod-credentials
29 - template: steps/run.yml
35 dist-x86_64-linux-alt:
36 IMAGE: dist-x86_64-linux
41 dist-aarch64-linux: {}
46 dist-i586-gnu-i586-i686-musl: {}
51 dist-mips64el-linux: {}
53 dist-powerpc-linux: {}
54 dist-powerpc64-linux: {}
55 dist-powerpc64le-linux: {}
57 dist-x86_64-freebsd: {}
59 dist-x86_64-netbsd: {}
65 x86_64-gnu-full-bootstrap: {}
68 DEPLOY_TOOLSTATES_JSON: toolstates-linux.json
71 x86_64-gnu-distcheck: {}
79 - template: steps/run.yml
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.
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.
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
95 NO_DEBUG_ASSERTIONS: 1
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
106 dist-x86_64-apple-alt:
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
116 timeoutInMinutes: 600
118 vmImage: 'vs2017-win2016'
120 - template: steps/run.yml
123 # 32/64 bit MSVC tests
125 INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
126 SCRIPT: make ci-subset-1
128 NO_DEBUG_ASSERTIONS: 1
129 NO_LLVM_ASSERTIONS: 1
131 INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
132 SCRIPT: make ci-subset-2
134 INITIAL_RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
135 SCRIPT: make ci-subset-1
137 NO_DEBUG_ASSERTIONS: 1
138 NO_LLVM_ASSERTIONS: 1
140 INITIAL_RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
141 SCRIPT: make ci-subset-2
143 NO_DEBUG_ASSERTIONS: 1
144 NO_LLVM_ASSERTIONS: 1
147 RUST_CHECK_TARGET: check-aux EXCLUDE_CARGO=1
148 INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
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
154 NO_DEBUG_ASSERTIONS: 1
155 NO_LLVM_ASSERTIONS: 1
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
161 # 32/64-bit MinGW builds.
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.
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
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.
175 INITIAL_RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
176 SCRIPT: make ci-mingw-subset-1
179 NO_DEBUG_ASSERTIONS: 1
180 NO_LLVM_ASSERTIONS: 1
182 INITIAL_RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
183 SCRIPT: make ci-mingw-subset-2
186 SCRIPT: make ci-mingw-subset-1
187 INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
190 NO_DEBUG_ASSERTIONS: 1
191 NO_LLVM_ASSERTIONS: 1
193 SCRIPT: make ci-mingw-subset-2
194 INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
197 # 32/64 bit MSVC and GNU deployment
199 INITIAL_RUST_CONFIGURE_ARGS: >-
200 --build=x86_64-pc-windows-msvc
201 --target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc
204 SCRIPT: python x.py dist
205 DIST_REQUIRE_ALL_TOOLS: 1
207 INITIAL_RUST_CONFIGURE_ARGS: >-
208 --build=i686-pc-windows-msvc
209 --target=i586-pc-windows-msvc
212 SCRIPT: python x.py dist
213 DIST_REQUIRE_ALL_TOOLS: 1
215 INITIAL_RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools --enable-profiler
216 SCRIPT: python x.py dist
218 DIST_REQUIRE_ALL_TOOLS: 1
220 SCRIPT: python x.py dist
221 INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-full-tools --enable-profiler
223 DIST_REQUIRE_ALL_TOOLS: 1
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