Skip to content

Commit b0f639a

Browse files
[main] Update common Docker engineering infrastructure with latest (#1301)
1 parent 60d6307 commit b0f639a

4 files changed

Lines changed: 30 additions & 17 deletions

File tree

eng/docker-tools/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@ All breaking changes and new features in `eng/docker-tools` will be documented i
44

55
---
66

7+
## 2026-03-25: Manifest list creation moved to Post_Build
8+
9+
- Issue: [#2002](https://github.com/dotnet/docker-tools/issues/2002)
10+
11+
Manifest lists are now created during `Post_Build` instead of during `Publish`. They are copied to the publish registry via ACR import along with the platform images, rather than being recreated from scratch during publish.
12+
13+
---
14+
715
## 2026-03-18: CG build template supports skipping .NET SDK installation
816

917
- Issue: [#2029](https://github.com/dotnet/docker-tools/issues/2029)

eng/docker-tools/templates/jobs/post-build.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ jobs:
2020
dockerClientOS: linux
2121
customInitSteps: ${{ parameters.customInitSteps }}
2222
publishConfig: ${{ parameters.publishConfig }}
23+
- ${{ if parameters.publishConfig }}:
24+
- template: /eng/docker-tools/templates/steps/reference-service-connections.yml@self
25+
parameters:
26+
publishConfig: ${{ parameters.publishConfig }}
27+
usesRegistries:
28+
- ${{ parameters.publishConfig.BuildRegistry.server }}
2329
- template: /eng/docker-tools/templates/steps/download-build-artifact.yml@self
2430
parameters:
2531
targetPath: $(Build.ArtifactStagingDirectory)
@@ -75,6 +81,21 @@ jobs:
7581
$(manifestVariables)
7682
name: MergeImageInfoFiles
7783
displayName: Merge Image Info Files
84+
- ${{ if parameters.publishConfig }}:
85+
- template: /eng/docker-tools/templates/steps/run-imagebuilder.yml@self
86+
parameters:
87+
displayName: Create Manifest Lists
88+
internalProjectName: ${{ parameters.internalProjectName }}
89+
condition: and(succeeded(), ne(variables['MergeImageInfoFiles.noImageInfos'], 'true'), ne(variables['Build.Reason'], 'PullRequest'))
90+
args: >-
91+
createManifestList
92+
'$(imageInfosContainerDir)$(imageInfosOutputSubDir)/image-info.json'
93+
--repo-prefix '${{ parameters.publishConfig.BuildRegistry.repoPrefix }}'
94+
--os-type '*'
95+
--architecture '*'
96+
--manifest '$(manifest)'
97+
--registry-override '${{ parameters.publishConfig.BuildRegistry.server }}'
98+
$(manifestVariables)
7899
- template: /eng/docker-tools/templates/steps/publish-artifact.yml@self
79100
parameters:
80101
condition: and(succeeded(), ne(variables['MergeImageInfoFiles.noImageInfos'], 'true'))

eng/docker-tools/templates/jobs/publish.yml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -118,21 +118,6 @@ jobs:
118118
$(imageBuilder.pathArgs)
119119
$(imageBuilder.commonCmdArgs)
120120
121-
- template: /eng/docker-tools/templates/steps/run-imagebuilder.yml@self
122-
parameters:
123-
displayName: Publish Manifest
124-
internalProjectName: ${{ parameters.internalProjectName }}
125-
dockerClientOS: ${{ parameters.dockerClientOS }}
126-
args: >-
127-
publishManifest
128-
'$(imageInfoContainerDir)/image-info.json'
129-
--repo-prefix '${{ parameters.publishConfig.PublishRegistry.repoPrefix }}'
130-
--os-type '*'
131-
--architecture '*'
132-
$(dryRunArg)
133-
$(imageBuilder.pathArgs)
134-
$(imageBuilder.commonCmdArgs)
135-
136121
- template: /eng/docker-tools/templates/steps/publish-artifact.yml@self
137122
parameters:
138123
path: $(imageInfoHostDir)
@@ -270,7 +255,6 @@ jobs:
270255
'$(gitHubNotificationsRepoInfo.repo)'
271256
--repo-prefix '${{ parameters.publishConfig.PublishRegistry.repoPrefix }}'
272257
--task "🟪 Copy Images"
273-
--task "🟪 Publish Manifest"
274258
--task "🟪 Wait for Image Ingestion"
275259
--task "🟪 Publish Readmes"
276260
--task "🟪 Wait for MCR Doc Ingestion"

eng/docker-tools/templates/variables/docker-images.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
variables:
2-
imageNames.imageBuilderName: mcr.microsoft.com/dotnet-buildtools/image-builder:2928776
2+
imageNames.imageBuilderName: mcr.microsoft.com/dotnet-buildtools/image-builder:2936017
33
imageNames.imageBuilder: $(imageNames.imageBuilderName)
44
imageNames.imageBuilder.withrepo: imagebuilder-withrepo:$(Build.BuildId)-$(System.JobId)
55
imageNames.testRunner: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux3.0-docker-testrunner

0 commit comments

Comments
 (0)