@@ -3,11 +3,14 @@ parameters:
33 internalProjectName : null
44 customInitSteps : []
55 customPublishVariables : []
6+ sourceBuildPipelineDefinitionId : " "
7+ sourceBuildPipelineRunId : " "
68
79jobs :
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
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)
0 commit comments