[Tizen] Unify dnetmemoryenumlib terms to match the codebase (#291)
[platform/upstream/coreclr.git] / eng / platform-matrix.yml
1 parameters:
2   jobTemplate: ''
3   buildConfig: ''
4   platforms: []
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
8   platformGroup: ''
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.
15   helixQueueGroup: 'pr'
16   ignoreDependencyOnBuildJobs: false
17   jobParameters: {}
18
19 jobs:
20
21 # TODO: simplify osIdentifier by adding osGroup and osSubGroup. See
22 # https://github.com/Microsoft/azure-pipelines-yaml/pull/46 for more information
23
24 # Linux arm
25
26 - ${{ if or(containsValue(parameters.platforms, 'Linux_arm'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
27   - template: ${{ parameters.jobTemplate }}
28     parameters:
29       ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
30       buildConfig: ${{ parameters.buildConfig }}
31       archType: arm
32       osGroup: Linux
33       osIdentifier: Linux
34       container:
35         image: ubuntu-16.04-cross-14.04-23cacb0-20190528233931
36         registry: mcr
37       helixQueues:
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 }}
46
47 # Linux arm64
48
49 - ${{ if or(containsValue(parameters.platforms, 'Linux_arm64'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
50   - template: ${{ parameters.jobTemplate }}
51     parameters:
52       ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
53       buildConfig: ${{ parameters.buildConfig }}
54       archType: arm64
55       osGroup: Linux
56       osIdentifier: Linux
57       container:
58         image: ubuntu-16.04-cross-arm64-cfdd435-20190520220848
59         registry: mcr
60       helixQueues:
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 }}
70
71 # Linux musl x64
72
73 - ${{ if or(containsValue(parameters.platforms, 'Linux_musl_x64'), eq(parameters.platformGroup, 'all')) }}:
74   - template: ${{ parameters.jobTemplate }}
75     parameters:
76       ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
77       buildConfig: ${{ parameters.buildConfig }}
78       archType: x64
79       osGroup: Linux
80       osIdentifier: Linux_musl
81       container:
82         image: alpine-3.6-WithNode-cfdd435-20190521001804
83         registry: mcr
84       helixQueues:
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 }}
92
93 # Linux musl arm64
94
95 - ${{ if or(containsValue(parameters.platforms, 'Linux_musl_arm64'), eq(parameters.platformGroup, 'all')) }}:
96   - template: ${{ parameters.jobTemplate }}
97     parameters:
98       ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
99       buildConfig: ${{ parameters.buildConfig }}
100       archType: arm64
101       osGroup: Linux
102       osIdentifier: Linux_musl
103       container:
104         image: ubuntu-16.04-cross-arm64-alpine-406629a-20190520220848
105         registry: mcr
106       helixQueues:
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 }}
113
114 # Linux rhel6 x64
115
116 - ${{ if or(containsValue(parameters.platforms, 'Linux_rhel6_x64'), eq(parameters.platformGroup, 'all')) }}:
117   - template: ${{ parameters.jobTemplate }}
118     parameters:
119       ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
120       buildConfig: ${{ parameters.buildConfig }}
121       archType: x64
122       osGroup: Linux
123       osIdentifier: Linux_rhel6
124       container:
125         image: centos-6-3e800f1-20190501005338
126         registry: mcr
127       helixQueues:
128       # TODO: enable RedHat.6.Amd64.Open once https://github.com/dotnet/coreclr/issues/23580 is resolved
129       - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
130         - RedHat.6.Amd64
131       ${{ insert }}: ${{ parameters.jobParameters }}
132
133 # Linux x64
134
135 - ${{ if or(containsValue(parameters.platforms, 'Linux_x64'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
136   - template: ${{ parameters.jobTemplate }}
137     parameters:
138       ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
139       buildConfig: ${{ parameters.buildConfig }}
140       archType: x64
141       osGroup: Linux
142       osIdentifier: Linux
143       container:
144         image: centos-7-3e800f1-20190501005343
145         registry: mcr
146       helixQueues:
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') }}:
156         - Debian.9.Amd64
157         - Ubuntu.1604.Amd64
158         - Ubuntu.1804.Amd64
159         - Centos.7.Amd64
160         - (Fedora.28.Amd64)Ubuntu.1604.amd64@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-28-helix-09ca40b-20190508143249
161         - RedHat.7.Amd64
162       ${{ insert }}: ${{ parameters.jobParameters }}
163
164 # FreeBSD
165
166 # FreeBSD machines are currenrly offline. Re-enable in the official build when
167 # the machines are healthy.
168
169 # - template: ${{ parameters.jobTemplate }}
170 #   parameters:
171 #     buildConfig: ${{ parameters.buildConfig }}
172 #     archType: x64
173 #     osGroup: FreeBSD
174 #     osIdentifier: FreeBSD
175 #     # There are no FreeBSD helix queues, so we don't run tests at the moment.
176 #     helixQueues:
177 #       asString: ''
178 #       asArray: []
179 #     ${{ insert }}: ${{ parameters.jobParameters }}
180
181 # macOS x64
182
183 - ${{ if or(containsValue(parameters.platforms, 'OSX_x64'), eq(parameters.platformGroup, 'all')) }}:
184   - template: ${{ parameters.jobTemplate }}
185     parameters:
186       ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
187       buildConfig: ${{ parameters.buildConfig }}
188       archType: x64
189       osGroup: OSX
190       osIdentifier: OSX
191       helixQueues:
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') }}:
199         - OSX.1012.Amd64
200         - OSX.1013.Amd64
201         - OSX.1014.Amd64
202       ${{ insert }}: ${{ parameters.jobParameters }}
203
204 # Windows x64
205
206 - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_x64'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
207   - template: ${{ parameters.jobTemplate }}
208     parameters:
209       ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
210       buildConfig: ${{ parameters.buildConfig }}
211       archType: x64
212       osGroup: Windows_NT
213       osIdentifier: Windows_NT
214       helixQueues:
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') }}:
223         - Windows.7.Amd64
224         - Windows.81.Amd64
225         - Windows.10.Amd64
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 }}
229
230 # Windows x86
231
232 - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_x86'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
233   - template: ${{ parameters.jobTemplate }}
234     parameters:
235       ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
236       buildConfig: ${{ parameters.buildConfig }}
237       archType: x86
238       osGroup: Windows_NT
239       osIdentifier: Windows_NT
240       helixQueues:
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') }}:
248         - Windows.7.Amd64
249         - Windows.81.Amd64
250         - Windows.10.Amd64
251         - Windows.10.Amd64.Core
252       ${{ insert }}: ${{ parameters.jobParameters }}
253
254 # Windows arm
255
256 - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_arm'), eq(parameters.platformGroup, 'all')) }}:
257   - template: ${{ parameters.jobTemplate }}
258     parameters:
259       ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
260       buildConfig: ${{ parameters.buildConfig }}
261       archType: arm
262       osGroup: Windows_NT
263       osIdentifier: Windows_NT
264       helixQueues:
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') }}:
271         - Windows.10.Arm64
272       ${{ insert }}: ${{ parameters.jobParameters }}
273
274 # Windows arm64
275
276 - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_arm64'), eq(parameters.platformGroup, 'all')) }}:
277   - template: ${{ parameters.jobTemplate }}
278     parameters:
279       ignoreDependencyOnBuildJobs: ${{ parameters.ignoreDependencyOnBuildJobs }}
280       buildConfig: ${{ parameters.buildConfig }}
281       archType: arm64
282       osGroup: Windows_NT
283       osIdentifier: Windows_NT
284       helixQueues:
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') }}:
287         - Windows.10.Arm64
288       ${{ insert }}: ${{ parameters.jobParameters }}