2
# This template adds arcade-powered source-build to CI. A job is created for each platform, as
3
# well as an optional server job that completes when all platform jobs complete.
5
# The name of the "join" job for all source-build platforms. If set to empty string, the job is
6
# not included. Existing repo pipelines can use this job depend on all source-build jobs
7
# completing without maintaining a separate list of every single job ID: just depend on this one
8
# server job. By default, not included. Recommended name if used: 'Source_Build_Complete'.
11
# See /eng/common/templates/job/source-build.yml
12
jobNamePrefix: 'Source_Build'
14
# This is the default platform provided by Arcade, intended for use by a managed-only repo.
15
defaultManagedPlatform:
17
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8'
19
# Defines the platforms on which to run build jobs. One job is created for each platform, and the
20
# object in this array is sent to the job template as 'platform'. If no platforms are specified,
21
# one job runs on 'defaultManagedPlatform'.
24
# If set to true and running on a non-public project,
25
# Internal nuget and blob storage locations will be enabled.
26
# This is not enabled by default because many repositories do not need internal sources
27
# and do not need to have the required service connections approved in the pipeline.
28
enableInternalSources: false
32
- ${{ if ne(parameters.allCompletedJobId, '') }}:
33
- job: ${{ parameters.allCompletedJobId }}
34
displayName: Source-Build Complete
37
- ${{ each platform in parameters.platforms }}:
38
- ${{ parameters.jobNamePrefix }}_${{ platform.name }}
39
- ${{ if eq(length(parameters.platforms), 0) }}:
40
- ${{ parameters.jobNamePrefix }}_${{ parameters.defaultManagedPlatform.name }}
42
- ${{ each platform in parameters.platforms }}:
43
- template: /eng/common/templates/job/source-build.yml
45
jobNamePrefix: ${{ parameters.jobNamePrefix }}
46
platform: ${{ platform }}
47
enableInternalSources: ${{ parameters.enableInternalSources }}
49
- ${{ if eq(length(parameters.platforms), 0) }}:
50
- template: /eng/common/templates/job/source-build.yml
52
jobNamePrefix: ${{ parameters.jobNamePrefix }}
53
platform: ${{ parameters.defaultManagedPlatform }}
54
enableInternalSources: ${{ parameters.enableInternalSources }}