3 # shared library repository
6 ${{ if ne(variables['System.TeamProject'], 'public') }}:
7 endpoint: DotNet-Bot GitHub Internal Connection
8 ${{ if eq(variables['System.TeamProject'], 'public') }}:
9 endpoint: DotNet-Bot GitHub Connection
11 ref: refs/heads/master
14 DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
19 ## The following is the matrix of test runs that we have. This is
20 ## duplicated for each os/arch combination in platform-matrix.yml.
23 ## Product build Test build Test run
24 ## (Azure DevOps) (Azure DevOps) (helix)
26 ## ###########################################################################################
30 ## Checked ----------> Pri0 -----------------> plain runtests
32 ## \---------> Pri1 -----------------> plain runtests
33 ## | \----------------> jitstress
34 ## | \----------------> gcstress
35 ## | \----------------> maybe more (dynamically selected runtest modes)
37 ## \---------> Pri1 crossgen --------> plain runtests
38 ## \-------> jitstress
40 ## \-------> maybe more (dynamically selected runtest modes)
42 ## Release ----------> Pri1 -----------------> plain runtests
44 ## \---------> Pri1 crossgen --------> plain runtests
48 ## Each build or test job is defined in Azure DevOps, and will show
49 ## up in the UI in the order in which they are defined here. The
50 ## build and test build job matrix is defined statically, but
51 ## queue-time inputs can be used to control whether a job executes
52 ## (used to select which jobs run in ci vs for official builds), or
53 ## to select test modes. This should eventually be used to enable
54 ## requesting specific test runs from pull requests.
58 ## Templates used to define jobs:
59 ## Please update this if the factoring changes.
61 ## This file defines the set of jobs in a platform-agnostic manner,
62 ## using the platform-matrix.yml template. This will create one job
63 ## for each platform from the passed-in jobTemplate (either a build
64 ## job or a test job). The build-job.yml and test-job.yml templates
65 ## use xplat-job.yml to handle some of the common logic for
66 ## abstracting over platforms. Finally, xplat-job.yml uses the arcade
67 ## base.yml job template, which sets up telemetry and signing support.
69 ## azure-pipelines.yml -> platform-matrix.yml -------> build-job.yml -------> xplat-job.yml -> base.yml
70 ## | (passed-in jobTemplate) | (arcade)
71 ## \------> test-job.yml ------/
79 - template: eng/platform-matrix.yml
81 jobTemplate: build-job.yml
88 - template: eng/platform-matrix.yml
90 jobTemplate: build-job.yml
97 - template: eng/platform-matrix.yml
99 jobTemplate: build-job.yml
103 # Checked test builds
107 - template: eng/platform-matrix.yml
109 jobTemplate: test-job.yml
115 - template: eng/platform-matrix.yml
117 jobTemplate: test-job.yml
121 scenarios: 'normal;jitstress2'
124 - template: eng/platform-matrix.yml
126 jobTemplate: test-job.yml
131 scenarios: 'normal;jitstress2'
134 # Release test builds
138 - template: eng/platform-matrix.yml
140 jobTemplate: test-job.yml
146 - template: eng/platform-matrix.yml
148 jobTemplate: test-job.yml
155 # Publish build information to Build Assets Registry
157 # This job gathers build assets from the pipeline (from each official
158 # product build job), and publishes them to the build assets
159 # registry. Its dependencies should be updated to include all of the
160 # official builds if we add more platform/arch combinations.
162 # TODO: Enable publish to BAR
163 #- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
164 # - template: /eng/common/templates/phases/publish-build-assets.yml@arcade
165 #- phase: publish_bar
166 # displayName: publish to BAR (empty currently)
168 # name: Hosted VS2017
170 # - build_Linux_x64_release
171 # - build_OSX_x64_release
172 # - build_Windows_NT_x64_release
173 # - build_Windows_NT_x86_release
174 # - build_Windows_NT_arm_release
175 # - build_Windows_NT_arm64_release
176 # TODO: enable these builds
177 # - build_rhel_x64_release
178 # - build_alpine_x64_release
179 # - build_crossbuild_arm_release
180 # - build_crossbuild_arm64_release