Skip to content

Commit 8cb76a6

Browse files
committed
Start moving over to official templates
1 parent dc553fe commit 8cb76a6

18 files changed

+419
-206
lines changed

eng/pipelines/common/global-build-job.yml

+17-13
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,10 @@ parameters:
3232
enableRichCodeNavigation: false
3333
richCodeNavigationLanguage: 'csharp'
3434
disableComponentGovernance: ''
35+
templatePath: 'templates'
3536

3637
jobs:
37-
- template: /eng/common/templates/job/job.yml
38+
- template: /eng/common/${{ parameters.templatePath }}/job/job.yml
3839
parameters:
3940
${{ if eq(parameters.hostedOs, '') }}:
4041
name: ${{ format('build_{0}{1}_{2}_{3}_{4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, parameters.nameSuffix) }}
@@ -127,6 +128,7 @@ jobs:
127128

128129
- ${{ each variable in parameters.variables }}:
129130
- ${{ variable }}
131+
130132
steps:
131133
- ${{ if eq(parameters.osGroup, 'windows') }}:
132134
- template: /eng/pipelines/common/templates/disable-vsupdate-or-failfast.yml
@@ -167,7 +169,7 @@ jobs:
167169
path: '$(Build.SourcesDirectory)/artifacts/obj/mono/offsetfiles'
168170

169171
- ${{ if eq(parameters.isSourceBuild, true) }}:
170-
- template: /eng/common/templates/steps/source-build.yml
172+
- template: /eng/common/${{ parameters.templatePath }}/steps/source-build.yml
171173
parameters:
172174
platform:
173175
baseOS: ${{ parameters.baseOS }}
@@ -271,14 +273,16 @@ jobs:
271273
displayName: Collect vslogs on exit
272274
condition: always()
273275

274-
- task: PublishBuildArtifacts@1
275-
displayName: Publish Logs
276-
inputs:
277-
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/'
278-
PublishLocation: Container
279-
${{ if notin(parameters.osGroup, 'browser', 'wasi') }}:
280-
ArtifactName: Logs_Build_Attempt$(System.JobAttempt)_${{ parameters.osGroup }}_${{ parameters.osSubGroup }}_${{ parameters.archType }}_${{ parameters.buildConfig }}_${{ parameters.nameSuffix }}
281-
${{ if in(parameters.osGroup, 'browser', 'wasi') }}:
282-
ArtifactName: Logs_Build_Attempt$(System.JobAttempt)_${{ parameters.osGroup }}_${{ parameters.archType }}_${{ parameters.hostedOs }}_${{ parameters.buildConfig }}_${{ parameters.nameSuffix }}
283-
continueOnError: true
284-
condition: always()
276+
- template: /eng/pipelines/common/templates/publish-build-artifacts.yml
277+
parameters:
278+
isOfficialBuild: ${{ parameters.isOfficialBuild }}
279+
displayName: Publish Logs
280+
inputs:
281+
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/'
282+
PublishLocation: Container
283+
${{ if notin(parameters.osGroup, 'browser', 'wasi') }}:
284+
ArtifactName: Logs_Build_Attempt$(System.JobAttempt)_${{ parameters.osGroup }}_${{ parameters.osSubGroup }}_${{ parameters.archType }}_${{ parameters.buildConfig }}_${{ parameters.nameSuffix }}
285+
${{ if in(parameters.osGroup, 'browser', 'wasi') }}:
286+
ArtifactName: Logs_Build_Attempt$(System.JobAttempt)_${{ parameters.osGroup }}_${{ parameters.archType }}_${{ parameters.hostedOs }}_${{ parameters.buildConfig }}_${{ parameters.nameSuffix }}
287+
continueOnError: true
288+
condition: always()
Original file line numberDiff line numberDiff line change
@@ -1,114 +1,123 @@
11
parameters:
22
- name: stages
33
type: stageList
4-
5-
resources:
6-
containers:
7-
- container: linux_arm
8-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm
9-
env:
10-
ROOTFS_DIR: /crossrootfs/arm
11-
12-
- container: linux_armv6
13-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-cross-armv6-raspbian-10
14-
env:
15-
ROOTFS_DIR: /crossrootfs/armv6
16-
17-
- container: linux_arm64
18-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-biarch-amd64-arm64
19-
env:
20-
ROOTFS_HOST_DIR: /crossrootfs/x64
21-
ROOTFS_DIR: /crossrootfs/arm64
22-
23-
- container: linux_musl_x64
24-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64-alpine
25-
env:
26-
ROOTFS_DIR: /crossrootfs/x64
27-
28-
- container: linux_musl_arm
29-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm-alpine
30-
env:
31-
ROOTFS_DIR: /crossrootfs/arm
32-
33-
- container: linux_musl_arm64
34-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64-alpine
35-
env:
36-
ROOTFS_DIR: /crossrootfs/arm64
37-
38-
# This container contains all required toolsets to build for Android and for Linux with bionic libc.
39-
- container: linux_bionic
40-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-android-amd64
41-
42-
# This container contains all required toolsets to build for Android as well as tooling to build docker images.
43-
- container: android_docker
44-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-android-docker
45-
46-
- container: linux_x64
47-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64
48-
env:
49-
ROOTFS_DIR: /crossrootfs/x64
50-
51-
- container: linux_x86
52-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-x86
53-
env:
54-
ROOTFS_DIR: /crossrootfs/x86
55-
56-
- container: linux_x64_dev_innerloop
57-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04
58-
59-
# We use a CentOS Stream 8 image here to test building from source on CentOS Stream 8.
60-
- container: SourceBuild_centos_x64
61-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
62-
63-
# AlmaLinux 8 is a RHEL 8 rebuild, so we use it to test building from source on RHEL 8.
64-
- container: SourceBuild_linux_x64
65-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:almalinux-8-source-build
66-
67-
- container: linux_s390x
68-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-s390x
69-
env:
70-
ROOTFS_DIR: /crossrootfs/s390x
71-
72-
- container: linux_ppc64le
73-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-ppc64le
74-
env:
75-
ROOTFS_DIR: /crossrootfs/ppc64le
76-
77-
- container: linux_riscv64
78-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-riscv64
79-
env:
80-
ROOTFS_DIR: /crossrootfs/riscv64
81-
82-
- container: debian-12-gcc13-amd64
83-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-gcc13-amd64
84-
85-
- container: linux_x64_llvmaot
86-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
87-
88-
- container: browser_wasm
89-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-webassembly-20230913040940-1edc1c6
90-
env:
91-
ROOTFS_DIR: /crossrootfs/x64
92-
93-
- container: wasi_wasm
94-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-webassembly
95-
env:
96-
ROOTFS_DIR: /crossrootfs/x64
97-
98-
- container: freebsd_x64
99-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64-freebsd-13
100-
env:
101-
ROOTFS_DIR: /crossrootfs/x64
102-
103-
- container: tizen_armel
104-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-armel-tizen
105-
env:
106-
ROOTFS_DIR: /crossrootfs/armel
107-
108-
- container: debpkg
109-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-debpkg
110-
111-
- container: rpmpkg
112-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm
113-
114-
stages: ${{ parameters.stages }}
4+
- name: isOfficialBuild
5+
type: boolean
6+
7+
extends:
8+
template: templateDispatch.yml
9+
parameters:
10+
${{ if parameters.isOfficialBuild }}:
11+
templatePath: template1es.yml
12+
${{ else }}:
13+
templatePath: templatePublic.yml
14+
15+
stages: ${{ parameters.stages }}
16+
17+
containers:
18+
linux_arm:
19+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm
20+
env:
21+
ROOTFS_DIR: /crossrootfs/arm
22+
23+
linux_armv6:
24+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-cross-armv6-raspbian-10
25+
env:
26+
ROOTFS_DIR: /crossrootfs/armv6
27+
28+
linux_arm64:
29+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-biarch-amd64-arm64
30+
env:
31+
ROOTFS_HOST_DIR: /crossrootfs/x64
32+
ROOTFS_DIR: /crossrootfs/arm64
33+
34+
linux_musl_x64:
35+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64-alpine
36+
env:
37+
ROOTFS_DIR: /crossrootfs/x64
38+
39+
linux_musl_arm:
40+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm-alpine
41+
env:
42+
ROOTFS_DIR: /crossrootfs/arm
43+
44+
linux_musl_arm64:
45+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64-alpine
46+
env:
47+
ROOTFS_DIR: /crossrootfs/arm64
48+
49+
# This container contains all required toolsets to build for Android and for Linux with bionic libc.
50+
linux_bionic:
51+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-android-amd64
52+
53+
# This container contains all required toolsets to build for Android as well as tooling to build docker images.
54+
android_docker:
55+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-android-docker
56+
57+
linux_x64:
58+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64
59+
env:
60+
ROOTFS_DIR: /crossrootfs/x64
61+
62+
linux_x86:
63+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-x86
64+
env:
65+
ROOTFS_DIR: /crossrootfs/x86
66+
67+
linux_x64_dev_innerloop:
68+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04
69+
70+
# We use a CentOS Stream 8 image here to test building from source on CentOS Stream 8.
71+
SourceBuild_centos_x64:
72+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
73+
74+
# AlmaLinux 8 is a RHEL 8 rebuild, so we use it to test building from source on RHEL 8.
75+
SourceBuild_linux_x64:
76+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:almalinux-8-source-build
77+
78+
linux_s390x:
79+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-s390x
80+
env:
81+
ROOTFS_DIR: /crossrootfs/s390x
82+
83+
linux_ppc64le:
84+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-ppc64le
85+
env:
86+
ROOTFS_DIR: /crossrootfs/ppc64le
87+
88+
linux_riscv64:
89+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-riscv64
90+
env:
91+
ROOTFS_DIR: /crossrootfs/riscv64
92+
93+
debian-12-gcc13-amd64:
94+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-gcc13-amd64
95+
96+
linux_x64_llvmaot:
97+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
98+
99+
browser_wasm:
100+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-webassembly-20230913040940-1edc1c6
101+
env:
102+
ROOTFS_DIR: /crossrootfs/x64
103+
104+
wasi_wasm:
105+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-webassembly
106+
env:
107+
ROOTFS_DIR: /crossrootfs/x64
108+
109+
freebsd_x64:
110+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64-freebsd-13
111+
env:
112+
ROOTFS_DIR: /crossrootfs/x64
113+
114+
tizen_armel:
115+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-armel-tizen
116+
env:
117+
ROOTFS_DIR: /crossrootfs/armel
118+
119+
debpkg:
120+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-debpkg
121+
122+
rpmpkg:
123+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
parameters:
2+
- name: isOfficialBuild
3+
type: boolean
4+
- name: displayName
5+
type: string
6+
- name: inputs
7+
type: object
8+
- name: condition
9+
type: string
10+
default: ''
11+
12+
steps:
13+
- ${{ if parameters.isOfficialBuild }}:
14+
- task: 1ES.PublishBuildArtifacts@1
15+
displayName: ${{ parameters.displayName }}
16+
inputs: ${{ parameters.inputs }}
17+
condition: ${{ parameters.condition }}
18+
- ${{ else }}:
19+
- task: PublishBuildArtifacts@1
20+
displayName: ${{ parameters.displayName }}
21+
inputs: ${{ parameters.inputs }}
22+
condition: ${{ parameters.condition }}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
parameters:
2+
- name: displayName
3+
type: string
4+
- name: inputs
5+
type: object
6+
- name: isOfficialBuild
7+
type: boolean
8+
9+
steps:
10+
- ${{ if parameters.isOfficialBuild }}:
11+
- task: 1ES.PublishPipelineArtifact@1
12+
displayName: ${{ parameters.displayName }}
13+
inputs: ${{ parameters.inputs }}
14+
- ${{ else }}:
15+
- task: PublishPipelineArtifact@1
16+
displayName: ${{ parameters.displayName }}
17+
inputs: ${{ parameters.inputs }}

0 commit comments

Comments
 (0)