@@ -9,6 +9,7 @@ parameters:
99 default : 3
1010 values :
1111 - 3
12+ - 4
1213
1314 - name : BARBuildId
1415 displayName : BAR Build Id
@@ -120,7 +121,7 @@ stages:
120121 # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
121122 ${{ if eq(variables['System.TeamProject'], 'DevDiv') }} :
122123 name : AzurePipelines-EO
123- image : 1ESPT-Windows2022
124+ image : 1ESPT-Windows2025
124125 demands : Cmd
125126 os : windows
126127 # If it's not devdiv, it's dnceng
@@ -140,16 +141,30 @@ stages:
140141 PromoteToChannelIds : ${{ parameters.PromoteToChannelIds }}
141142 is1ESPipeline : ${{ parameters.is1ESPipeline }}
142143
143- - task : DownloadBuildArtifacts@0
144- displayName : Download Package Artifacts
145- inputs :
146- buildType : specific
147- buildVersionToDownload : specific
148- project : $(AzDOProjectName)
149- pipeline : $(AzDOPipelineId)
150- buildId : $(AzDOBuildId)
151- artifactName : PackageArtifacts
152- checkDownloadedFiles : true
144+ - ${{ if ne(parameters.publishingInfraVersion, 4) }} :
145+ - task : DownloadBuildArtifacts@0
146+ displayName : Download Package Artifacts
147+ inputs :
148+ buildType : specific
149+ buildVersionToDownload : specific
150+ project : $(AzDOProjectName)
151+ pipeline : $(AzDOPipelineId)
152+ buildId : $(AzDOBuildId)
153+ artifactName : PackageArtifacts
154+ checkDownloadedFiles : true
155+ - ${{ if eq(parameters.publishingInfraVersion, 4) }} :
156+ - task : DownloadPipelineArtifact@2
157+ displayName : Download Pipeline Artifacts (V4)
158+ inputs :
159+ itemPattern : ' */packages/**/*.nupkg'
160+ targetPath : ' $(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload'
161+ - task : CopyFiles@2
162+ displayName : Flatten packages to PackageArtifacts
163+ inputs :
164+ SourceFolder : ' $(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload'
165+ Contents : ' **/*.nupkg'
166+ TargetFolder : ' $(Build.ArtifactStagingDirectory)/PackageArtifacts'
167+ flattenFolders : true
153168
154169 - task : PowerShell@2
155170 displayName : Validate
@@ -164,14 +179,14 @@ stages:
164179 # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
165180 ${{ if eq(variables['System.TeamProject'], 'DevDiv') }} :
166181 name : AzurePipelines-EO
167- image : 1ESPT-Windows2022
182+ image : 1ESPT-Windows2025
168183 demands : Cmd
169184 os : windows
170185 # If it's not devdiv, it's dnceng
171186 ${{ else }} :
172187 ${{ if eq(parameters.is1ESPipeline, true) }} :
173188 name : $(DncEngInternalBuildPool)
174- image : 1es- windows-2022
189+ image : windows.vs2026.amd64
175190 os : windows
176191 ${{ else }} :
177192 name : $(DncEngInternalBuildPool)
@@ -183,16 +198,30 @@ stages:
183198 PromoteToChannelIds : ${{ parameters.PromoteToChannelIds }}
184199 is1ESPipeline : ${{ parameters.is1ESPipeline }}
185200
186- - task : DownloadBuildArtifacts@0
187- displayName : Download Package Artifacts
188- inputs :
189- buildType : specific
190- buildVersionToDownload : specific
191- project : $(AzDOProjectName)
192- pipeline : $(AzDOPipelineId)
193- buildId : $(AzDOBuildId)
194- artifactName : PackageArtifacts
195- checkDownloadedFiles : true
201+ - ${{ if ne(parameters.publishingInfraVersion, 4) }} :
202+ - task : DownloadBuildArtifacts@0
203+ displayName : Download Package Artifacts
204+ inputs :
205+ buildType : specific
206+ buildVersionToDownload : specific
207+ project : $(AzDOProjectName)
208+ pipeline : $(AzDOPipelineId)
209+ buildId : $(AzDOBuildId)
210+ artifactName : PackageArtifacts
211+ checkDownloadedFiles : true
212+ - ${{ if eq(parameters.publishingInfraVersion, 4) }} :
213+ - task : DownloadPipelineArtifact@2
214+ displayName : Download Pipeline Artifacts (V4)
215+ inputs :
216+ itemPattern : ' */packages/**/*.nupkg'
217+ targetPath : ' $(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload'
218+ - task : CopyFiles@2
219+ displayName : Flatten packages to PackageArtifacts
220+ inputs :
221+ SourceFolder : ' $(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload'
222+ Contents : ' **/*.nupkg'
223+ TargetFolder : ' $(Build.ArtifactStagingDirectory)/PackageArtifacts'
224+ flattenFolders : true
196225
197226 # This is necessary whenever we want to publish/restore to an AzDO private feed
198227 # Since sdk-task.ps1 tries to restore packages we need to do this authentication here
@@ -225,14 +254,14 @@ stages:
225254 # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
226255 ${{ if eq(variables['System.TeamProject'], 'DevDiv') }} :
227256 name : AzurePipelines-EO
228- image : 1ESPT-Windows2022
257+ image : 1ESPT-Windows2025
229258 demands : Cmd
230259 os : windows
231260 # If it's not devdiv, it's dnceng
232261 ${{ else }} :
233262 ${{ if eq(parameters.is1ESPipeline, true) }} :
234263 name : $(DncEngInternalBuildPool)
235- image : 1es- windows-2022
264+ image : windows.vs2026.amd64
236265 os : windows
237266 ${{ else }} :
238267 name : $(DncEngInternalBuildPool)
@@ -244,16 +273,30 @@ stages:
244273 PromoteToChannelIds : ${{ parameters.PromoteToChannelIds }}
245274 is1ESPipeline : ${{ parameters.is1ESPipeline }}
246275
247- - task : DownloadBuildArtifacts@0
248- displayName : Download Blob Artifacts
249- inputs :
250- buildType : specific
251- buildVersionToDownload : specific
252- project : $(AzDOProjectName)
253- pipeline : $(AzDOPipelineId)
254- buildId : $(AzDOBuildId)
255- artifactName : BlobArtifacts
256- checkDownloadedFiles : true
276+ - ${{ if ne(parameters.publishingInfraVersion, 4) }} :
277+ - task : DownloadBuildArtifacts@0
278+ displayName : Download Blob Artifacts
279+ inputs :
280+ buildType : specific
281+ buildVersionToDownload : specific
282+ project : $(AzDOProjectName)
283+ pipeline : $(AzDOPipelineId)
284+ buildId : $(AzDOBuildId)
285+ artifactName : BlobArtifacts
286+ checkDownloadedFiles : true
287+ - ${{ if eq(parameters.publishingInfraVersion, 4) }} :
288+ - task : DownloadPipelineArtifact@2
289+ displayName : Download Pipeline Artifacts (V4)
290+ inputs :
291+ itemPattern : ' */assets/**'
292+ targetPath : ' $(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload'
293+ - task : CopyFiles@2
294+ displayName : Flatten assets to BlobArtifacts
295+ inputs :
296+ SourceFolder : ' $(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload'
297+ Contents : ' **/*'
298+ TargetFolder : ' $(Build.ArtifactStagingDirectory)/BlobArtifacts'
299+ flattenFolders : true
257300
258301 - task : PowerShell@2
259302 displayName : Validate
@@ -286,18 +329,18 @@ stages:
286329 # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
287330 ${{ if eq(variables['System.TeamProject'], 'DevDiv') }} :
288331 name : AzurePipelines-EO
289- image : 1ESPT-Windows2022
332+ image : 1ESPT-Windows2025
290333 demands : Cmd
291334 os : windows
292335 # If it's not devdiv, it's dnceng
293336 ${{ else }} :
294337 ${{ if eq(parameters.is1ESPipeline, true) }} :
295338 name : NetCore1ESPool-Publishing-Internal
296- image : windows.vs2022 .amd64
339+ image : windows.vs2026 .amd64
297340 os : windows
298341 ${{ else }} :
299342 name : NetCore1ESPool-Publishing-Internal
300- demands : ImageOverride -equals windows.vs2022 .amd64
343+ demands : ImageOverride -equals windows.vs2026 .amd64
301344 steps :
302345 - template : /eng/common/core-templates/post-build/setup-maestro-vars.yml
303346 parameters :
@@ -328,7 +371,7 @@ stages:
328371 scriptPath : $(System.DefaultWorkingDirectory)/eng/common/post-build/publish-using-darc.ps1
329372 arguments : >
330373 -BuildId $(BARBuildId)
331- -PublishingInfraVersion ${{ parameters.publishingInfraVersion }}
374+ -PublishingInfraVersion 3
332375 -AzdoToken '$(System.AccessToken)'
333376 -WaitPublishingFinish true
334377 -RequireDefaultChannels ${{ parameters.requireDefaultChannels }}
0 commit comments