Disable outdated test until it is updated
[platform/upstream/coreclr.git] / azure-pipelines.yml
1
2 # Temporarily set a build number format that includes a large revision
3 # number that won't conflict with buildpipeline official builds.
4 name: $(Date:yyyyMMdd)$(Rev:.7r)
5
6 variables:
7   DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
8
9 resources:
10   containers:
11   - container: ubuntu_1404_arm_cross_build_image
12     image: microsoft/dotnet-buildtools-prereqs:ubuntu-14.04-cross-e435274-20180426002420
13
14   - container: ubuntu_1604_arm64_cross_build_image
15     image: microsoft/dotnet-buildtools-prereqs:ubuntu-16.04-cross-arm64-a3ae44b-20180315221921
16
17   - container: musl_x64_build_image
18     image: microsoft/dotnet-buildtools-prereqs:alpine-3.6-WithNode-f4d3fe3-20181220200247
19
20   - container: centos7_x64_build_image
21     image: microsoft/dotnet-buildtools-prereqs:centos-7-d485f41-20173404063424
22
23   - container: centos6_x64_build_image
24     image: microsoft/dotnet-buildtools-prereqs:centos-6-376e1a3-20174311014331
25
26 trigger:
27 - master
28
29 pr:
30 - master
31
32 jobs:
33
34 ##   The following is the matrix of test runs that we have. This is
35 ##   duplicated for each os/arch combination in platform-matrix.yml.
36
37 ##
38 ##   Product build       Test build              Test run
39 ##   (Azure DevOps)      (Azure DevOps)          (helix)
40 ##
41 ##   ###########################################################################################
42 ##
43 ##   Debug
44 ##
45 ##   Checked ----------> Pri0 -----------------> plain runtests
46 ##           |
47 ##           \---------> Pri1 -----------------> plain runtests
48 ##           |                \----------------> jitstress
49 ##           |                \----------------> gcstress
50 ##           |                \----------------> maybe more (dynamically selected runtest modes)
51 ##           |
52 ##           \---------> Pri1 crossgen --------> plain runtests
53 ##                                     \-------> jitstress
54 ##                                     \-------> gcstress
55 ##                                     \-------> maybe more (dynamically selected runtest modes)
56 ##
57 ##   Release ----------> Pri1 -----------------> plain runtests
58 ##           |
59 ##           \---------> Pri1 crossgen --------> plain runtests
60 ##
61 ##
62
63 ## Each build or test job is defined in Azure DevOps, and will show
64 ## up in the UI in the order in which they are defined here. The
65 ## build and test build job matrix is defined statically, but
66 ## queue-time inputs can be used to control whether a job executes
67 ## (used to select which jobs run in ci vs for official builds), or
68 ## to select test modes. This should eventually be used to enable
69 ## requesting specific test runs from pull requests.
70
71
72 ##
73 ## Templates used to define jobs:
74 ## Please update this if the factoring changes.
75 ##
76 ## This file defines the set of jobs in a platform-agnostic manner,
77 ## using the platform-matrix.yml template. This will create one job
78 ## for each platform from the passed-in jobTemplate (either a build
79 ## job or a test job). The build-job.yml and test-job.yml templates
80 ## use xplat-job.yml to handle some of the common logic for
81 ## abstracting over platforms. Finally, xplat-job.yml uses the arcade
82 ## base.yml job template, which sets up telemetry and signing support.
83
84 ## azure-pipelines.yml -> platform-matrix.yml -------> build-job.yml -------> xplat-job.yml -> base.yml
85 ##                                            |  (passed-in jobTemplate)  |                    (arcade)
86 ##                                            \------> test-job.yml ------/
87
88 # TODO: simplify logic surrounding official build/ci. See
89 # https://github.com/Microsoft/azure-pipelines-yaml/pull/46 for more information
90
91 #
92 # Debug build (Pull Request)
93 #
94 - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
95   - template: eng/platform-matrix.yml
96     parameters:
97       jobTemplate: build-job.yml
98       buildConfig: debug
99
100 #
101 # Checked build
102 #
103 - ${{ if eq(variables['System.TeamProject'], 'public') }}:
104   - template: eng/platform-matrix.yml
105     parameters:
106       jobTemplate: build-job.yml
107       buildConfig: checked
108
109 #
110 # Release build (Official Build, Pull Request)
111 #
112 - ${{ if xor(eq(variables['System.TeamProject'], 'internal'), eq(variables['Build.Reason'], 'PullRequest')) }}:
113   - template: eng/platform-matrix.yml
114     parameters:
115       jobTemplate: build-job.yml
116       buildConfig: release
117       jobParameters:
118         # Publishing packages to blob feeds sometimes takes a long time
119         # due to waiting for an exclusive lock on the feed.
120         # See https://github.com/dotnet/arcade/blob/master/Documentation/CorePackages/AsyncPublishing.md
121         timeoutInMinutes: 120
122
123 #
124 # Checked test builds
125 #
126
127 # Pri0 (Pull Request)
128 - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
129   - template: eng/platform-matrix.yml
130     parameters:
131       jobTemplate: test-job.yml
132       buildConfig: checked
133       jobParameters:
134         priority: 0
135         scenarios:
136           asString: 'normal,no_tiered_compilation'
137           asArray:
138           - normal
139           - no_tiered_compilation
140         timeoutInMinutes: 240
141         timeoutPerTestInMinutes: 10
142
143 # Pri1 (CI)
144 - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI')) }}:
145   - template: eng/platform-matrix.yml
146     parameters:
147       jobTemplate: test-job.yml
148       buildConfig: checked
149       jobParameters:
150         priority: 1
151         scenarios:
152           asString: 'normal,no_tiered_compilation'
153           asArray:
154           - normal
155           - no_tiered_compilation
156         timeoutInMinutes: 360
157         timeoutPerTestInMinutes: 10
158
159 # Pri1 ReadyToRun (CI)
160 - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI')) }}:
161   - template: eng/platform-matrix.yml
162     parameters:
163       jobTemplate: test-job.yml
164       buildConfig: checked
165       jobParameters:
166         priority: 1
167         readyToRun: true
168         scenarios:
169           asString: 'normal,no_tiered_compilation'
170           asArray:
171           - normal
172           - no_tiered_compilation
173         timeoutInMinutes: 360
174         timeoutPerTestInMinutes: 30
175
176 # Pri1 (Schedule, Manual)
177 - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'Schedule', 'Manual')) }}:
178   - template: eng/platform-matrix.yml
179     parameters:
180       jobTemplate: test-job.yml
181       buildConfig: checked
182       jobParameters:
183         priority: 1
184         scenarios:
185           asString: 'normal,no_tiered_compilation,jitstress1,jitstress2,jitstress1_tiered,jitstress2_tiered,jitstressregs1,jitstressregs2,jitstressregs3,jitstressregs4,jitstressregs8,jitstressregs0x10,jitstressregs0x80,jitstressregs0x1000,jitminopts'
186           asArray:
187           - normal
188           - no_tiered_compilation
189           - jitstress1
190           - jitstress2
191           - jitstress1_tiered
192           - jitstress2_tiered
193           - jitstressregs1
194           - jitstressregs2
195           - jitstressregs3
196           - jitstressregs4
197           - jitstressregs8
198           - jitstressregs0x10
199           - jitstressregs0x80
200           - jitstressregs0x1000
201           - jitminopts
202         timeoutInMinutes: 480
203         timeoutPerTestInMinutes: 30
204
205
206 #
207 # Release test builds
208 #
209
210 # Pri1 (Official Build)
211 - ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}:
212   - template: eng/platform-matrix.yml
213     parameters:
214       jobTemplate: test-job.yml
215       buildConfig: release
216       jobParameters:
217         priority: 1
218         scenarios:
219           asString: 'normal,no_tiered_compilation'
220           asArray:
221           - normal
222           - no_tiered_compilation
223         timeoutInMinutes: 360
224         timeoutPerTestInMinutes: 10
225
226 # Pri1 ReadyToRun (Official Build)
227 - ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}:
228   - template: eng/platform-matrix.yml
229     parameters:
230       jobTemplate: test-job.yml
231       buildConfig: release
232       jobParameters:
233         priority: 1
234         readyToRun: true
235         scenarios:
236           asString: 'normal,no_tiered_compilation'
237           asArray:
238           - normal
239           - no_tiered_compilation
240         timeoutInMinutes: 360
241         timeoutPerTestInMinutes: 30
242
243
244 # Publish build information to Build Assets Registry
245
246 # This job gathers build assets from the pipeline (from each official
247 # product build job), and publishes them to the build assets
248 # registry. Its dependencies should be updated to include all of the
249 # official builds if we add more platform/arch combinations.
250
251 - ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}:
252   - template: /eng/common/templates/job/publish-build-assets.yml
253     parameters:
254       configuration: Release
255       pool:
256         name: dotnet-internal-temp
257       dependsOn:
258       - build_Linux_arm_release
259       - build_Linux_arm64_release
260       - build_Linux_musl_x64_release
261       - build_Linux_rhel6_x64_release
262       - build_Linux_x64_release
263       - build_FreeBSD_x64_release
264       - build_OSX_x64_release
265       - build_Windows_NT_x64_release
266       - build_Windows_NT_x86_release
267       - build_Windows_NT_arm_release
268       - build_Windows_NT_arm64_release