@@ -9,6 +9,7 @@ parameters:
99 default : 3
1010 values :
1111 - 3
12+ - 4
1213
1314- name : BARBuildId
1415 displayName : BAR Build Id
@@ -130,16 +131,30 @@ stages:
130131 PromoteToChannelIds : ${{ parameters.PromoteToChannelIds }}
131132 is1ESPipeline : ${{ parameters.is1ESPipeline }}
132133
133- - task : DownloadBuildArtifacts@0
134- displayName : Download Package Artifacts
135- inputs :
136- buildType : specific
137- buildVersionToDownload : specific
138- project : $(AzDOProjectName)
139- pipeline : $(AzDOPipelineId)
140- buildId : $(AzDOBuildId)
141- artifactName : PackageArtifacts
142- checkDownloadedFiles : true
134+ - ${{ if ne(parameters.publishingInfraVersion, 4) }} :
135+ - task : DownloadBuildArtifacts@0
136+ displayName : Download Package Artifacts
137+ inputs :
138+ buildType : specific
139+ buildVersionToDownload : specific
140+ project : $(AzDOProjectName)
141+ pipeline : $(AzDOPipelineId)
142+ buildId : $(AzDOBuildId)
143+ artifactName : PackageArtifacts
144+ checkDownloadedFiles : true
145+ - ${{ if eq(parameters.publishingInfraVersion, 4) }} :
146+ - task : DownloadPipelineArtifact@2
147+ displayName : Download Pipeline Artifacts (V4)
148+ inputs :
149+ itemPattern : ' */packages/**/*.nupkg'
150+ targetPath : ' $(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload'
151+ - task : CopyFiles@2
152+ displayName : Flatten packages to PackageArtifacts
153+ inputs :
154+ SourceFolder : ' $(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload'
155+ Contents : ' **/*.nupkg'
156+ TargetFolder : ' $(Build.ArtifactStagingDirectory)/PackageArtifacts'
157+ flattenFolders : true
143158
144159 - task : PowerShell@2
145160 displayName : Validate
@@ -173,16 +188,30 @@ stages:
173188 PromoteToChannelIds : ${{ parameters.PromoteToChannelIds }}
174189 is1ESPipeline : ${{ parameters.is1ESPipeline }}
175190
176- - task : DownloadBuildArtifacts@0
177- displayName : Download Package Artifacts
178- inputs :
179- buildType : specific
180- buildVersionToDownload : specific
181- project : $(AzDOProjectName)
182- pipeline : $(AzDOPipelineId)
183- buildId : $(AzDOBuildId)
184- artifactName : PackageArtifacts
185- checkDownloadedFiles : true
191+ - ${{ if ne(parameters.publishingInfraVersion, 4) }} :
192+ - task : DownloadBuildArtifacts@0
193+ displayName : Download Package Artifacts
194+ inputs :
195+ buildType : specific
196+ buildVersionToDownload : specific
197+ project : $(AzDOProjectName)
198+ pipeline : $(AzDOPipelineId)
199+ buildId : $(AzDOBuildId)
200+ artifactName : PackageArtifacts
201+ checkDownloadedFiles : true
202+ - ${{ if eq(parameters.publishingInfraVersion, 4) }} :
203+ - task : DownloadPipelineArtifact@2
204+ displayName : Download Pipeline Artifacts (V4)
205+ inputs :
206+ itemPattern : ' */packages/**/*.nupkg'
207+ targetPath : ' $(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload'
208+ - task : CopyFiles@2
209+ displayName : Flatten packages to PackageArtifacts
210+ inputs :
211+ SourceFolder : ' $(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload'
212+ Contents : ' **/*.nupkg'
213+ TargetFolder : ' $(Build.ArtifactStagingDirectory)/PackageArtifacts'
214+ flattenFolders : true
186215
187216 # This is necessary whenever we want to publish/restore to an AzDO private feed
188217 # Since sdk-task.ps1 tries to restore packages we need to do this authentication here
@@ -196,7 +225,7 @@ stages:
196225 displayName : Validate
197226 inputs :
198227 filePath : eng\common\sdk-task.ps1
199- arguments : -task SigningValidation -restore
228+ arguments : -task SigningValidation -restore -msbuildEngine dotnet
200229 /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts'
201230 /p:SignCheckExclusionsFile='$(System.DefaultWorkingDirectory)/eng/SignCheckExclusionsFile.txt'
202231 ${{ parameters.signingValidationAdditionalParameters }}
@@ -208,53 +237,20 @@ stages:
208237 JobLabel : ' Signing'
209238 BinlogToolVersion : $(BinlogToolVersion)
210239
211- - job :
212- displayName : SourceLink Validation
213- condition : eq( ${{ parameters.enableSourceLinkValidation }}, 'true')
214- pool :
215- # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
216- ${{ if eq(variables['System.TeamProject'], 'DevDiv') }} :
217- name : AzurePipelines-EO
218- image : 1ESPT-Windows2025
219- demands : Cmd
220- os : windows
221- # If it's not devdiv, it's dnceng
222- ${{ else }} :
223- ${{ if eq(parameters.is1ESPipeline, true) }} :
224- name : $(DncEngInternalBuildPool)
225- image : windows.vs2026.amd64
226- os : windows
227- ${{ else }} :
228- name : $(DncEngInternalBuildPool)
229- demands : ImageOverride -equals windows.vs2026.amd64
230- steps :
231- - template : /eng/common/core-templates/post-build/setup-maestro-vars.yml
232- parameters :
233- BARBuildId : ${{ parameters.BARBuildId }}
234- PromoteToChannelIds : ${{ parameters.PromoteToChannelIds }}
235- is1ESPipeline : ${{ parameters.is1ESPipeline }}
236-
237- - task : DownloadBuildArtifacts@0
238- displayName : Download Blob Artifacts
239- inputs :
240- buildType : specific
241- buildVersionToDownload : specific
242- project : $(AzDOProjectName)
243- pipeline : $(AzDOPipelineId)
244- buildId : $(AzDOBuildId)
245- artifactName : BlobArtifacts
246- checkDownloadedFiles : true
247-
248- - task : PowerShell@2
249- displayName : Validate
250- inputs :
251- filePath : $(System.DefaultWorkingDirectory)/eng/common/post-build/sourcelink-validation.ps1
252- arguments : -InputPath $(Build.ArtifactStagingDirectory)/BlobArtifacts/
253- -ExtractPath $(Agent.BuildDirectory)/Extract/
254- -GHRepoName $(Build.Repository.Name)
255- -GHCommit $(Build.SourceVersion)
256- -SourcelinkCliVersion $(SourceLinkCLIVersion)
257- continueOnError : true
240+ # SourceLink validation has been removed — the underlying CLI tool
241+ # (targeting netcoreapp2.1) has not functioned for years.
242+ # The enableSourceLinkValidation parameter is kept but ignored so
243+ # existing pipelines that pass it are not broken.
244+ # See https://github.com/dotnet/arcade/issues/16647
245+ - ${{ if eq(parameters.enableSourceLinkValidation, 'true') }} :
246+ - job :
247+ displayName : ' SourceLink Validation Removed - please remove enableSourceLinkValidation from your pipeline'
248+ pool : server
249+ steps :
250+ - task : Delay@1
251+ displayName : ' Warning: SourceLink validation removed (see https://github.com/dotnet/arcade/issues/16647)'
252+ inputs :
253+ delayForMinutes : ' 0'
258254
259255- ${{ if ne(parameters.publishAssetsImmediately, 'true') }} :
260256 - stage : publish_using_darc
@@ -317,7 +313,7 @@ stages:
317313 scriptPath : $(System.DefaultWorkingDirectory)/eng/common/post-build/publish-using-darc.ps1
318314 arguments : >
319315 -BuildId $(BARBuildId)
320- -PublishingInfraVersion ${{ parameters.publishingInfraVersion }}
316+ -PublishingInfraVersion 3
321317 -AzdoToken '$(System.AccessToken)'
322318 -WaitPublishingFinish true
323319 -RequireDefaultChannels ${{ parameters.requireDefaultChannels }}
0 commit comments