5 # platformGroup is a named collection of platforms. Allowed values:
6 # 'all' - all platforms
7 # 'gcstress' - platforms that support running under GCStress0x3 and GCStress0xC scenarios
9 # helixQueueGroup is a named collection of Helix Queues. If specified, it determines which Helix queues are
10 # used, instead of the usual criteria. Allowed values:
11 # 'pr' - the queues used for a pull request for the platform. Typically a small set.
12 # 'ci' - the queues used for a CI (post-merge) test run.
13 # 'all' - the queues used for non-PR, non-CI test runs, e.g., Manual or Scheduled runs. Typically this is all available queues.
14 # 'corefx' - the queues used for a corefx test run.
16 ignoreDependencyOnBuildJobs: false
21 # TODO: simplify osIdentifier by adding osGroup and osSubGroup. See
22 # https://github.com/Microsoft/azure-pipelines-yaml/pull/46 for more information
26 - ${{ if or(containsValue(parameters.platforms, 'Linux_arm'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
27 - template: ${{ parameters.jobTemplate }}
29 ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
30 buildConfig: ${{ parameters.buildConfig }}
35 image: ubuntu-16.04-cross-14.04-23cacb0-20190528233931
38 - ${{ if eq(variables['System.TeamProject'], 'public') }}:
39 - (Ubuntu.1804.Arm32.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7-30f6673-20190814153226
40 - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
41 - (Debian.9.Arm32)Ubuntu.1804.Armarch@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm32v7-74c9941-20190620155841
42 - (Ubuntu.1804.Arm32)Ubuntu.1804.Armarch@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-helix-arm32v7-a45aeeb-20190620160312
43 - (Ubuntu.1804.Arm32)Ubuntu.1804.Armarch@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7-09a60ed-20190620155854
44 crossrootfsDir: '/crossrootfs/arm'
45 ${{ insert }}: ${{ parameters.jobParameters }}
49 - ${{ if or(containsValue(parameters.platforms, 'Linux_arm64'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
50 - template: ${{ parameters.jobTemplate }}
52 ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
53 buildConfig: ${{ parameters.buildConfig }}
58 image: ubuntu-16.04-cross-arm64-cfdd435-20190520220848
61 - ${{ if eq(variables['System.TeamProject'], 'public') }}:
62 - (Ubuntu.1804.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-a45aeeb-20190620155855
63 - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}:
64 - (Debian.9.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm64v8-74c9941-20190620155840
65 - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
66 - (Debian.9.Arm64)Ubuntu.1804.Armarch@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm64v8-74c9941-20190620155840
67 - (Ubuntu.1804.Arm64)Ubuntu.1804.Armarch@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-a45aeeb-20190620155855
68 crossrootfsDir: '/crossrootfs/arm64'
69 ${{ insert }}: ${{ parameters.jobParameters }}
73 - ${{ if or(containsValue(parameters.platforms, 'Linux_musl_x64'), eq(parameters.platformGroup, 'all')) }}:
74 - template: ${{ parameters.jobTemplate }}
76 ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
77 buildConfig: ${{ parameters.buildConfig }}
80 osIdentifier: Linux_musl
82 image: alpine-3.6-WithNode-cfdd435-20190521001804
85 - ${{ if eq(variables['System.TeamProject'], 'public') }}:
86 - (Alpine.38.Amd64.Open)Ubuntu.1604.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.8-helix-09ca40b-20190508143246
87 - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
88 - (Alpine.38.Amd64)ubuntu.1604.amd64@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.8-helix-09ca40b-20190508143246
89 - (Alpine.39.Amd64)ubuntu.1604.amd64@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.9-helix-09ca40b-20190508143246
90 - (Alpine.310.Amd64)Ubuntu.1604.Amd64@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.10-helix-3043688-20190918214010
91 ${{ insert }}: ${{ parameters.jobParameters }}
95 - ${{ if or(containsValue(parameters.platforms, 'Linux_musl_arm64'), eq(parameters.platformGroup, 'all')) }}:
96 - template: ${{ parameters.jobTemplate }}
98 ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
99 buildConfig: ${{ parameters.buildConfig }}
102 osIdentifier: Linux_musl
104 image: ubuntu-16.04-cross-arm64-alpine-406629a-20190520220848
107 - ${{ if eq(variables['System.TeamProject'], 'public') }}:
108 - (Alpine.38.Arm64.Open)Ubuntu.1604.Arm64.Docker.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.8-helix-arm64v8-a45aeeb-20190620184035
109 - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
110 - (Alpine.38.Arm64)Ubuntu.1604.Arm64.Docker@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.8-helix-arm64v8-a45aeeb-20190620184035
111 crossrootfsDir: '/crossrootfs/arm64'
112 ${{ insert }}: ${{ parameters.jobParameters }}
116 - ${{ if or(containsValue(parameters.platforms, 'Linux_rhel6_x64'), eq(parameters.platformGroup, 'all')) }}:
117 - template: ${{ parameters.jobTemplate }}
119 ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
120 buildConfig: ${{ parameters.buildConfig }}
123 osIdentifier: Linux_rhel6
125 image: centos-6-3e800f1-20190501005338
128 # TODO: enable RedHat.6.Amd64.Open once https://github.com/dotnet/coreclr/issues/23580 is resolved
129 - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
131 ${{ insert }}: ${{ parameters.jobParameters }}
135 - ${{ if or(containsValue(parameters.platforms, 'Linux_x64'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
136 - template: ${{ parameters.jobTemplate }}
138 ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
139 buildConfig: ${{ parameters.buildConfig }}
144 image: centos-7-3e800f1-20190501005343
147 - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}:
148 - Ubuntu.1804.Amd64.Open
149 - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}:
150 - Debian.9.Amd64.Open
151 - Ubuntu.1604.Amd64.Open
152 - Ubuntu.1804.Amd64.Open
153 - Centos.7.Amd64.Open
154 - RedHat.7.Amd64.Open
155 - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
160 - (Fedora.28.Amd64)Ubuntu.1604.amd64@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-28-helix-09ca40b-20190508143249
162 ${{ insert }}: ${{ parameters.jobParameters }}
166 # FreeBSD machines are currenrly offline. Re-enable in the official build when
167 # the machines are healthy.
169 # - template: ${{ parameters.jobTemplate }}
171 # buildConfig: ${{ parameters.buildConfig }}
174 # osIdentifier: FreeBSD
175 # # There are no FreeBSD helix queues, so we don't run tests at the moment.
179 # ${{ insert }}: ${{ parameters.jobParameters }}
183 - ${{ if or(containsValue(parameters.platforms, 'OSX_x64'), eq(parameters.platformGroup, 'all')) }}:
184 - template: ${{ parameters.jobTemplate }}
186 ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
187 buildConfig: ${{ parameters.buildConfig }}
192 - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}:
193 - OSX.1013.Amd64.Open
194 - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}:
195 - OSX.1012.Amd64.Open
196 - OSX.1013.Amd64.Open
197 - OSX.1014.Amd64.Open
198 - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
202 ${{ insert }}: ${{ parameters.jobParameters }}
206 - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_x64'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
207 - template: ${{ parameters.jobTemplate }}
209 ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
210 buildConfig: ${{ parameters.buildConfig }}
213 osIdentifier: Windows_NT
215 - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}:
216 - Windows.10.Amd64.Open
217 - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}:
218 # TODO: add Windows.10.Nano.Amd64.Open once https://github.com/dotnet/coreclr/issues/21693 has been resolved
219 - Windows.7.Amd64.Open
220 - Windows.81.Amd64.Open
221 - Windows.10.Amd64.Open
222 - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
226 - Windows.10.Amd64.Core
227 - (Windows.Nano.1803.Amd64)windows.10.amd64.serverrs4@mcr.microsoft.com/dotnet-buildtools/prereqs:nanoserver-1803-helix-amd64-05227e1-20190509225944
228 ${{ insert }}: ${{ parameters.jobParameters }}
232 - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_x86'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
233 - template: ${{ parameters.jobTemplate }}
235 ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
236 buildConfig: ${{ parameters.buildConfig }}
239 osIdentifier: Windows_NT
241 - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}:
242 - Windows.10.Amd64.Open
243 - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}:
244 - Windows.7.Amd64.Open
245 - Windows.81.Amd64.Open
246 - Windows.10.Amd64.Open
247 - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
251 - Windows.10.Amd64.Core
252 ${{ insert }}: ${{ parameters.jobParameters }}
256 - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_arm'), eq(parameters.platformGroup, 'all')) }}:
257 - template: ${{ parameters.jobTemplate }}
259 ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
260 buildConfig: ${{ parameters.buildConfig }}
263 osIdentifier: Windows_NT
265 # NOTE: there are no queues specified for Windows_NT_arm public with helixQueueGroup='pr'. This means that specifying
266 # Windows_NT_arm for a PR job causes a build, but no test run. If the test build and test runs were separate jobs,
267 # this could be more explicit (and less subtle).
268 - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(parameters.helixQueueGroup, 'ci', 'corefx')) }}:
269 - Windows.10.Arm64.Open
270 - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
272 ${{ insert }}: ${{ parameters.jobParameters }}
276 - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_arm64'), eq(parameters.platformGroup, 'all')) }}:
277 - template: ${{ parameters.jobTemplate }}
279 ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
280 buildConfig: ${{ parameters.buildConfig }}
283 osIdentifier: Windows_NT
285 # TODO: Consider adding Windows.10.Arm64.Open here if capacity is enough for handling both Windows_NT/arm and Windows_NT/arm64 testing
286 - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
288 ${{ insert }}: ${{ parameters.jobParameters }}