Skip to content

Commit e7e89e0

Browse files
Update common Docker engineering infrastructure with latest
1 parent bd11c5e commit e7e89e0

16 files changed

Lines changed: 146 additions & 15 deletions

eng/common/templates/jobs/generate-matrix.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ parameters:
88
noCache: false
99
customInitSteps: []
1010
commonInitStepsForMatrixAndBuild: []
11+
sourceBuildPipelineRunId: ""
1112

1213
jobs:
1314
- job: ${{ parameters.name }}
@@ -28,9 +29,10 @@ jobs:
2829
parameters:
2930
targetPath: $(Build.ArtifactStagingDirectory)
3031
artifactName: image-info
32+
pipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}
3133
- powershell: |
3234
$additionalGenerateBuildMatrixOptions = "$(additionalGenerateBuildMatrixOptions)"
33-
35+
3436
if ("${{ parameters.isTestStage}}" -eq "true") {
3537
$additionalGenerateBuildMatrixOptions = "$additionalGenerateBuildMatrixOptions --image-info $(artifactsPath)/image-info.json"
3638
}

eng/common/templates/jobs/publish.yml

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@ parameters:
33
internalProjectName: null
44
customInitSteps: []
55
customPublishVariables: []
6+
sourceBuildPipelineDefinitionId: ""
7+
sourceBuildPipelineRunId: ""
68

79
jobs:
810
- job: Publish
911
pool: ${{ parameters.pool }}
1012
timeoutInMinutes: 90
13+
1114
variables:
1215
- name: imageBuilder.commonCmdArgs
1316
value: >
@@ -29,33 +32,46 @@ jobs:
2932
- name: sourceBuildIdOutputDir
3033
value: $(Build.ArtifactStagingDirectory)/sourceBuildId
3134
- ${{ parameters.customPublishVariables }}
35+
3236
steps:
3337
- template: /eng/common/templates/steps/retain-build.yml@self
38+
3439
- template: /eng/common/templates/steps/init-docker-linux.yml@self
40+
3541
- pwsh: |
3642
$azdoOrgName = Split-Path -Leaf $Env:SYSTEM_COLLECTIONURI
3743
echo "##vso[task.setvariable variable=azdoOrgName]$azdoOrgName"
3844
displayName: Set Publish Variables
45+
3946
- ${{ parameters.customInitSteps }}
47+
4048
- template: /eng/common/templates/steps/validate-branch.yml@self
4149
parameters:
4250
internalProjectName: ${{ parameters.internalProjectName }}
51+
4352
- template: /eng/common/templates/steps/download-build-artifact.yml@self
4453
parameters:
4554
targetPath: $(imageInfoHostDir)
4655
artifactName: image-info
56+
piplineDefinitionId: ${{ parameters.sourceBuildPipelineDefinitionId }}
57+
pipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}
4758
# This can fail in scenarios where no build jobs have run to produce any artifacts
4859
continueOnError: true
60+
4961
- template: /eng/common/templates/steps/set-image-info-path-var.yml@self
5062
parameters:
5163
publicSourceBranch: $(publicSourceBranch)
64+
5265
- template: /eng/common/templates/steps/set-dry-run.yml@self
66+
5367
- script: echo "##vso[task.setvariable variable=imageQueueTime]$(date --rfc-2822)"
5468
displayName: Set Publish Variables
69+
5570
- script: >
5671
$(runImageBuilderCmd) trimUnchangedPlatforms
5772
'$(imageInfoContainerDir)/image-info.json'
5873
displayName: Trim Unchanged Images
74+
5975
- template: /eng/common/templates/steps/run-imagebuilder.yml@self
6076
parameters:
6177
displayName: Copy Images
@@ -74,6 +90,7 @@ jobs:
7490
$(dryRunArg)
7591
$(imageBuilder.pathArgs)
7692
$(imageBuilder.commonCmdArgs)
93+
7794
- template: /eng/common/templates/steps/run-imagebuilder.yml@self
7895
parameters:
7996
displayName: Publish Manifest
@@ -89,31 +106,37 @@ jobs:
89106
$(dryRunArg)
90107
$(imageBuilder.pathArgs)
91108
$(imageBuilder.commonCmdArgs)
109+
92110
- template: /eng/common/templates/steps/publish-artifact.yml@self
93111
parameters:
94112
path: $(imageInfoHostDir)
95113
artifactName: image-info-final-$(System.JobAttempt)
96114
displayName: Publish Image Info File Artifact
97115
internalProjectName: ${{ parameters.internalProjectName }}
98116
publicProjectName: ${{ parameters.publicProjectName }}
117+
99118
- template: /eng/common/templates/steps/wait-for-mcr-image-ingestion.yml@self
100119
parameters:
101120
imageInfoPath: '$(imageinfoContainerDir)/image-info.json'
102121
minQueueTime: $(imageQueueTime)
103122
dryRunArg: $(dryRunArg)
104123
condition: succeeded()
124+
105125
- template: /eng/common/templates/steps/publish-readmes.yml@self
106126
parameters:
107127
dryRunArg: $(dryRunArg)
108128
condition: and(succeeded(), eq(variables['publishReadme'], 'true'))
129+
109130
- script: mkdir -p $(Build.ArtifactStagingDirectory)/eol-annotation-data
110131
displayName: Create EOL Annotation Data Directory
132+
111133
- script: >
112134
curl -fSL
113135
--output $(imageInfoHostDir)/full-image-info-orig.json
114136
https://raw.githubusercontent.com/$(gitHubVersionsRepoInfo.org)/$(gitHubVersionsRepoInfo.repo)/refs/heads/$(gitHubVersionsRepoInfo.branch)/$(gitHubImageInfoVersionsPath)
115137
condition: and(succeeded(), eq(variables['publishImageInfo'], 'true'))
116138
displayName: Download Latest Image Info
139+
117140
- script: >
118141
$(runImageBuilderCmd) mergeImageInfo
119142
$(imageInfoContainerDir)
@@ -125,6 +148,7 @@ jobs:
125148
--initial-image-info-path $(imageInfoContainerDir)/full-image-info-orig.json
126149
condition: and(succeeded(), eq(variables['publishImageInfo'], 'true'))
127150
displayName: Merge Image Info
151+
128152
- template: /eng/common/templates/steps/run-imagebuilder.yml@self
129153
parameters:
130154
displayName: Ingest Kusto Image Info
@@ -142,6 +166,7 @@ jobs:
142166
--architecture '*'
143167
$(dryRunArg)
144168
$(imageBuilder.commonCmdArgs)
169+
145170
- template: /eng/common/templates/steps/run-imagebuilder.yml@self
146171
parameters:
147172
displayName: Generate EOL Annotation Data
@@ -157,6 +182,7 @@ jobs:
157182
'$(publishRepoPrefix)'
158183
$(generateEolAnnotationDataExtraOptions)
159184
$(dryRunArg)
185+
160186
- template: /eng/common/templates/steps/publish-artifact.yml@self
161187
parameters:
162188
path: $(Build.ArtifactStagingDirectory)/eol-annotation-data
@@ -165,10 +191,12 @@ jobs:
165191
internalProjectName: internal
166192
publicProjectName: public
167193
condition: and(succeeded(), eq(variables['publishEolAnnotations'], 'true'))
194+
168195
- template: /eng/common/templates/steps/annotate-eol-digests.yml@self
169196
parameters:
170197
internalProjectName: ${{ parameters.internalProjectName }}
171198
dataFile: $(artifactsPath)/eol-annotation-data/eol-annotation-data.json
199+
172200
- script: >
173201
$(runImageBuilderCmd) publishImageInfo
174202
'$(imageInfoContainerDir)/full-image-info-new.json'
@@ -183,6 +211,7 @@ jobs:
183211
$(imageBuilder.commonCmdArgs)
184212
condition: and(succeeded(), eq(variables['publishImageInfo'], 'true'))
185213
displayName: Publish Image Info
214+
186215
# Task displayNames names are hardcoded to reference the task prefix used by 1ES official
187216
# pipelines in eng/common/templates/1es-official.yml.
188217
#
@@ -219,11 +248,19 @@ jobs:
219248
$(imageBuilder.commonCmdArgs)
220249
displayName: Post Publish Notification
221250
condition: and(always(), eq(variables['publishNotificationsEnabled'], 'true'))
251+
222252
- powershell: |
253+
# Default to current build number if parameter was not overridden
254+
$buildId = "${{ parameters.sourceBuildPipelineRunId }}"
255+
if ($buildId -eq "") {
256+
$buildId = "$(Build.BuildNumber)"
257+
}
258+
223259
New-Item -ItemType Directory -Path $(sourceBuildIdOutputDir)
224-
Set-Content -Path $(sourceBuildIdOutputDir)/source-build-id.txt -Value $(sourceBuildId)
260+
Set-Content -Path $(sourceBuildIdOutputDir)/source-build-id.txt -Value "$buildId"
225261
condition: succeeded()
226262
displayName: Write Source Build ID to File
263+
227264
- template: /eng/common/templates/steps/publish-artifact.yml@self
228265
parameters:
229266
path: $(sourceBuildIdOutputDir)

eng/common/templates/jobs/test-images-linux-client.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ parameters:
66
preBuildValidation: false
77
internalProjectName: null
88
customInitSteps: []
9+
sourceBuildPipelineRunId: ""
910

1011
jobs:
1112
- job: ${{ parameters.name }}
@@ -24,3 +25,4 @@ jobs:
2425
preBuildValidation: ${{ parameters.preBuildValidation }}
2526
internalProjectName: ${{ parameters.internalProjectName }}
2627
customInitSteps: ${{ parameters.customInitSteps }}
28+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}

eng/common/templates/jobs/test-images-windows-client.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ parameters:
55
testJobTimeout: 60
66
internalProjectName: null
77
customInitSteps: []
8+
sourceBuildPipelineRunId: ""
89

910
jobs:
1011
- job: ${{ parameters.name }}
@@ -19,3 +20,4 @@ jobs:
1920
parameters:
2021
internalProjectName: ${{ parameters.internalProjectName }}
2122
customInitSteps: ${{ parameters.customInitSteps }}
23+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}

eng/common/templates/stages/build-and-test.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ parameters:
77
customGenerateMatrixInitSteps: []
88
customBuildInitSteps: []
99
customTestInitSteps: []
10+
sourceBuildPipelineRunId: ""
1011

1112
linuxAmdBuildJobTimeout: 60
1213
linuxArmBuildJobTimeout: 60
@@ -266,6 +267,7 @@ stages:
266267
internalProjectName: ${{ parameters.internalProjectName }}
267268
publicProjectName: ${{ parameters.publicProjectName }}
268269
customInitSteps: ${{ parameters.customGenerateMatrixInitSteps }}
270+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}
269271
commonInitStepsForMatrixAndBuild:
270272
- template: /eng/common/templates/steps/common-init-for-matrix-and-build.yml@self
271273
parameters:
@@ -280,6 +282,7 @@ stages:
280282
testJobTimeout: ${{ parameters.linuxAmdTestJobTimeout }}
281283
internalProjectName: ${{ parameters.internalProjectName }}
282284
customInitSteps: ${{ parameters.customTestInitSteps }}
285+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}
283286
- template: /eng/common/templates/jobs/test-images-linux-client.yml@self
284287
parameters:
285288
name: Linux_arm64
@@ -288,6 +291,7 @@ stages:
288291
testJobTimeout: ${{ parameters.linuxArmTestJobTimeout }}
289292
internalProjectName: ${{ parameters.internalProjectName }}
290293
customInitSteps: ${{ parameters.customTestInitSteps }}
294+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}
291295
- template: /eng/common/templates/jobs/test-images-linux-client.yml@self
292296
parameters:
293297
name: Linux_arm32
@@ -296,6 +300,7 @@ stages:
296300
testJobTimeout: ${{ parameters.linuxArmTestJobTimeout }}
297301
internalProjectName: ${{ parameters.internalProjectName }}
298302
customInitSteps: ${{ parameters.customTestInitSteps }}
303+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}
299304
- template: /eng/common/templates/jobs/test-images-windows-client.yml@self
300305
parameters:
301306
name: Windows1809_amd64
@@ -304,6 +309,7 @@ stages:
304309
testJobTimeout: ${{ parameters.windowsAmdTestJobTimeout }}
305310
internalProjectName: ${{ parameters.internalProjectName }}
306311
customInitSteps: ${{ parameters.customTestInitSteps }}
312+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}
307313
- template: /eng/common/templates/jobs/test-images-windows-client.yml@self
308314
parameters:
309315
name: Windows2022_amd64
@@ -312,6 +318,7 @@ stages:
312318
testJobTimeout: ${{ parameters.windowsAmdTestJobTimeout }}
313319
internalProjectName: ${{ parameters.internalProjectName }}
314320
customInitSteps: ${{ parameters.customTestInitSteps }}
321+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}
315322
- template: /eng/common/templates/jobs/test-images-windows-client.yml@self
316323
parameters:
317324
name: Windows2025_amd64
@@ -320,6 +327,7 @@ stages:
320327
testJobTimeout: ${{ parameters.windowsAmdTestJobTimeout }}
321328
internalProjectName: ${{ parameters.internalProjectName }}
322329
customInitSteps: ${{ parameters.customTestInitSteps }}
330+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}
323331
- template: /eng/common/templates/jobs/test-images-windows-client.yml@self
324332
parameters:
325333
name: WindowsLtsc2016_amd64
@@ -328,3 +336,4 @@ stages:
328336
testJobTimeout: ${{ parameters.windowsAmdTestJobTimeout }}
329337
internalProjectName: ${{ parameters.internalProjectName }}
330338
customInitSteps: ${{ parameters.customTestInitSteps }}
339+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}

eng/common/templates/stages/dotnet/build-and-test.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ parameters:
2525
linuxArmTestJobTimeout: 60
2626
windowsAmdTestJobTimeout: 60
2727
customTestInitSteps: []
28+
sourceBuildPipelineRunId: ""
2829

2930
internalProjectName: null
3031
publicProjectName: null
@@ -48,6 +49,7 @@ stages:
4849
linuxArmBuildJobTimeout: ${{ parameters.linuxArmBuildJobTimeout }}
4950
buildMatrixType: ${{ parameters.buildMatrixType }}
5051
testMatrixType: ${{ parameters.testMatrixType }}
52+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}
5153

5254
internalVersionsRepoRef: InternalVersionsRepo
5355
publicVersionsRepoRef: PublicVersionsRepo

eng/common/templates/stages/dotnet/build-test-publish-repo.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ parameters:
2424
linuxArmTestJobTimeout: 60
2525
windowsAmdTestJobTimeout: 60
2626
customTestInitSteps: []
27+
sourceBuildPipelineRunId: ""
2728

2829
# Publish parameters
2930
customPublishInitSteps: []
@@ -50,6 +51,7 @@ stages:
5051
windowsAmdBuildJobTimeout: ${{ parameters.windowsAmdBuildJobTimeout }}
5152
customBuildInitSteps: ${{ parameters.customBuildInitSteps }}
5253
# Test
54+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}
5355
testMatrixType: ${{ parameters.testMatrixType }}
5456
testMatrixCustomBuildLegGroupArgs: ${{ parameters.testMatrixCustomBuildLegGroupArgs }}
5557
linuxAmdTestJobTimeout: ${{ parameters.linuxAmdTestJobTimeout }}
@@ -67,3 +69,4 @@ stages:
6769
customPublishInitSteps: ${{ parameters.customPublishInitSteps }}
6870
internalProjectName: ${{ parameters.internalProjectName }}
6971
publicProjectName: ${{ parameters.publicProjectName }}
72+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}

eng/common/templates/stages/dotnet/publish.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,20 @@ parameters:
66
publicProjectName: null
77
pool: ""
88
isInternalServicingValidation: false
9+
isStandalonePublish: false
910
customPublishInitSteps: []
11+
sourceBuildPipelineDefinitionId: ''
12+
sourceBuildPipelineRunId: ''
1013

1114
stages:
1215
- template: /eng/common/templates/stages/publish.yml@self
1316
parameters:
1417
internalProjectName: ${{ parameters.internalProjectName }}
1518
publicProjectName: ${{ parameters.publicProjectName }}
1619
isInternalServicingValidation: ${{ parameters.isInternalServicingValidation }}
20+
isStandalonePublish: ${{ parameters.isStandalonePublish }}
21+
sourceBuildPipelineDefinitionId: ${{ parameters.sourceBuildPipelineDefinitionId }}
22+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}
1723

1824
customPublishInitSteps:
1925
- pwsh: |

eng/common/templates/stages/publish.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,25 @@ parameters:
66
publicProjectName: null
77

88
isInternalServicingValidation: false
9+
isStandalonePublish: false
910

1011
pool:
1112
vmImage: $(defaultLinuxAmd64PoolImage)
1213

14+
sourceBuildPipelineDefinitionId: ''
15+
sourceBuildPipelineRunId: ''
16+
1317
################################################################################
1418
# Publish Images
1519
################################################################################
1620
stages:
1721
- ${{ if eq(parameters.isInternalServicingValidation, 'false') }}:
1822
- stage: Publish
19-
${{ if and(eq(variables['System.TeamProject'], parameters.internalProjectName), ne(variables['Build.Reason'], 'PullRequest')) }}:
20-
dependsOn: Test
21-
${{ else }}:
22-
dependsOn: Post_Build
23+
${{ if not(parameters.isStandalonePublish) }}:
24+
${{ if and(eq(variables['System.TeamProject'], parameters.internalProjectName), ne(variables['Build.Reason'], 'PullRequest')) }}:
25+
dependsOn: Test
26+
${{ else }}:
27+
dependsOn: Post_Build
2328
condition: "
2429
and(
2530
not(canceled()),
@@ -56,3 +61,5 @@ stages:
5661
internalProjectName: ${{ parameters.internalProjectName }}
5762
customPublishVariables: ${{ parameters.customPublishVariables }}
5863
customInitSteps: ${{ parameters.customPublishInitSteps }}
64+
sourceBuildPipelineDefinitionId: ${{ parameters.sourceBuildPipelineDefinitionId }}
65+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}

0 commit comments

Comments
 (0)