7 helixType: '(unspecified)'
11 # arcade-specific parameters
13 continueOnError: false
18 gatherAssetManifests: false
20 variables: {} ## any extra variables to add to the defaults defined below
23 - template: /eng/common/templates/job/job.yml
26 name: ${{ parameters.name }}
27 displayName: ${{ parameters.displayName }}
29 condition: ${{ parameters.condition }}
30 dependsOn: ${{ parameters.dependsOn }}
31 timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
32 continueOnError: ${{ parameters.continueOnError }}
34 # Send telemetry for all builds
36 helixRepo: 'dotnet/coreclr'
37 helixType: ${{ parameters.helixType }}
39 enableMicrobuild: ${{ parameters.enableMicrobuild }}
40 enablePublishUsingPipelines: true
44 # Public Linux Build Pool
45 ${{ if and(eq(parameters.osGroup, 'Linux'), eq(variables['System.TeamProject'], 'public')) }}:
46 name: NetCorePublic-Pool
47 queue: BuildPool.Ubuntu.1604.Amd64.Open
49 # Official Build Linux Pool
50 ${{ if and(eq(parameters.osGroup, 'Linux'), ne(variables['System.TeamProject'], 'public')) }}:
51 name: NetCoreInternal-Pool
52 queue: BuildPool.Ubuntu.1604.Amd64
54 # FreeBSD builds only in the internal project
55 ${{ if and(eq(parameters.osGroup, 'FreeBSD'), ne(variables['System.TeamProject'], 'public')) }}:
56 name: dnceng-freebsd-internal
58 # Public OSX Build Pool
59 ${{ if and(eq(parameters.osGroup, 'OSX'), ne(variables['System.TeamProject'], 'public')) }}:
60 name: Hosted Mac Internal
62 # Official Build OSX Pool
63 ${{ if and(eq(parameters.osGroup, 'OSX'), eq(variables['System.TeamProject'], 'public')) }}:
66 # Official Build Windows Pool
67 ${{ if and(eq(parameters.osGroup, 'Windows_NT'), ne(variables['System.TeamProject'], 'public')) }}:
68 name: NetCoreInternal-Pool
69 queue: BuildPool.Windows.10.Amd64.VS2017
71 # Public Windows Build Pool
72 ${{ if and(eq(parameters.osGroup, 'Windows_NT'), eq(variables['System.TeamProject'], 'public')) }}:
73 name: NetCorePublic-Pool
74 queue: BuildPool.Windows.10.Amd64.VS2017.Open
79 ${{ if ne(parameters.container, '') }}:
80 ${{ if eq(parameters.container.registry, 'mcr') }}:
81 container: ${{ format('{0}:{1}', 'mcr.microsoft.com/dotnet-buildtools/prereqs', parameters.container.image) }}
82 ${{ if ne(parameters.container.registry, 'mcr') }}:
83 container: ${{ format('{0}:{1}', parameters.container.registry, parameters.container.image) }}
85 ${{ if eq(parameters.osGroup, 'Linux') }}:
87 ${{ if eq(parameters.osGroup, 'FreeBSD') }}:
89 ${{ if eq(parameters.osGroup, 'OSX') }}:
91 ${{ if eq(parameters.osGroup, 'Windows_NT') }}:
94 # Setting this results in the arcade job template including a step
95 # that gathers asset manifests and publishes them to pipeline
96 # storage. Only relevant for build jobs.
97 enablePublishBuildAssets: ${{ parameters.gatherAssetManifests }}
101 value: ${{ parameters.buildConfig }}
103 - ${{ if eq(parameters.buildConfig, 'checked') }}:
104 - name: buildConfigUpper
107 - ${{ if eq(parameters.buildConfig, 'debug') }}:
108 - name: buildConfigUpper
111 - ${{ if eq(parameters.buildConfig, 'release') }}:
112 - name: buildConfigUpper
116 value: $(buildConfigUpper)
119 value: ${{ parameters.archType }}
122 value: ${{ parameters.osGroup }}
125 value: ${{ parameters.osIdentifier }}
127 - ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}:
129 value: official/dotnet/coreclr/$(Build.SourceBranch)
130 - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
132 value: pr/dotnet/coreclr/$(Build.SourceBranch)
133 - ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}:
135 value: ci/dotnet/coreclr/$(Build.SourceBranch)
137 - ${{ if ne(parameters.crossrootfsDir, '') }}:
140 - name: crossPackagesArg
141 value: '-__DoCrossArchBuild=1'
142 # This is only required for cross builds.
144 value: ${{ parameters.crossrootfsDir }}
145 - ${{ if eq(parameters.crossrootfsDir, '') }}:
148 - name: crossPackagesArg
151 - ${{ each variable in parameters.variables }}:
152 - ${{insert}}: ${{ variable }}
154 steps: ${{ parameters.steps }}