2 DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
7 ## The following is the matrix of test runs that we have. This is
8 ## duplicated for each os/arch combination in platform-matrix.yml.
11 ## Product build Test build Test run
12 ## (Azure DevOps) (Azure DevOps) (helix)
14 ## ###########################################################################################
18 ## Checked ----------> Pri0 -----------------> plain runtests
20 ## \---------> Pri1 -----------------> plain runtests
21 ## | \----------------> jitstress
22 ## | \----------------> gcstress
23 ## | \----------------> maybe more (dynamically selected runtest modes)
25 ## \---------> Pri1 crossgen --------> plain runtests
26 ## \-------> jitstress
28 ## \-------> maybe more (dynamically selected runtest modes)
30 ## Release ----------> Pri1 -----------------> plain runtests
32 ## \---------> Pri1 crossgen --------> plain runtests
36 ## Each build or test job is defined in Azure DevOps, and will show
37 ## up in the UI in the order in which they are defined here. The
38 ## build and test build job matrix is defined statically, but
39 ## queue-time inputs can be used to control whether a job executes
40 ## (used to select which jobs run in ci vs for official builds), or
41 ## to select test modes. This should eventually be used to enable
42 ## requesting specific test runs from pull requests.
46 ## Templates used to define jobs:
47 ## Please update this if the factoring changes.
49 ## This file defines the set of jobs in a platform-agnostic manner,
50 ## using the platform-matrix.yml template. This will create one job
51 ## for each platform from the passed-in jobTemplate (either a build
52 ## job or a test job). The build-job.yml and test-job.yml templates
53 ## use xplat-job.yml to handle some of the common logic for
54 ## abstracting over platforms. Finally, xplat-job.yml uses the arcade
55 ## base.yml job template, which sets up telemetry and signing support.
57 ## azure-pipelines.yml -> platform-matrix.yml -------> build-job.yml -------> xplat-job.yml -> base.yml
58 ## | (passed-in jobTemplate) | (arcade)
59 ## \------> test-job.yml ------/
67 - template: eng/platform-matrix.yml
69 jobTemplate: build-job.yml
76 - template: eng/platform-matrix.yml
78 jobTemplate: build-job.yml
85 - template: eng/platform-matrix.yml
87 jobTemplate: build-job.yml
95 - template: eng/platform-matrix.yml
97 jobTemplate: test-job.yml
103 - template: eng/platform-matrix.yml
105 jobTemplate: test-job.yml
109 scenarios: 'normal;jitstress2'
112 - template: eng/platform-matrix.yml
114 jobTemplate: test-job.yml
119 scenarios: 'normal;jitstress2'
122 # Release test builds
126 - template: eng/platform-matrix.yml
128 jobTemplate: test-job.yml
134 - template: eng/platform-matrix.yml
136 jobTemplate: test-job.yml
143 # Publish build information to Build Assets Registry
145 # This job gathers build assets from the pipeline (from each official
146 # product build job), and publishes them to the build assets
147 # registry. Its dependencies should be updated to include all of the
148 # official builds if we add more platform/arch combinations.
150 # TODO: Enable publish to BAR
151 #- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
152 # - template: /eng/common/templates/phases/publish-build-assets.yml@arcade
153 #- phase: publish_bar
154 # displayName: publish to BAR (empty currently)
156 # name: Hosted VS2017
158 # - build_Linux_x64_release
159 # - build_OSX_x64_release
160 # - build_Windows_NT_x64_release
161 # - build_Windows_NT_x86_release
162 # - build_Windows_NT_arm_release
163 # - build_Windows_NT_arm64_release
164 # TODO: enable these builds
165 # - build_rhel_x64_release
166 # - build_alpine_x64_release
167 # - build_crossbuild_arm_release
168 # - build_crossbuild_arm64_release