@@ -168,6 +168,13 @@ jobs:
168168 displayName : Publish Artifacts
169169 sbomEnabled : true
170170
171+ # Using build artifacts to enable publishing the vertical manifests to a single artifact from different jobs
172+ - output : buildArtifacts
173+ PathtoPublish : $(Build.ArtifactStagingDirectory)/manifests/$(Agent.JobName).xml
174+ ArtifactName : VerticalManifests
175+ displayName : Publish Vertical Manifest
176+ sbomEnabled : false
177+
171178 - ${{ if not(parameters.isBuiltFromVmr) }} :
172179 - output : pipelineArtifact
173180 displayName : Upload failed patches
@@ -271,7 +278,7 @@ jobs:
271278 - script : |
272279 set extraBuildProperties=
273280 if not [${{ parameters.buildPass }}]==[] set extraBuildProperties=%extraBuildProperties% /p:DotNetBuildPass=${{ parameters.buildPass }}
274- call build.cmd -ci -cleanWhileBuilding -prepareMachine %devArgument% /p:TargetOS=${{ parameters.targetOS }} /p:TargetArchitecture=${{ parameters.targetArchitecture }} %extraBuildProperties% ${{ parameters.extraProperties }}
281+ call build.cmd -ci -cleanWhileBuilding -prepareMachine %devArgument% /p:TargetOS=${{ parameters.targetOS }} /p:TargetArchitecture=${{ parameters.targetArchitecture }} /p:VerticalName=$(Agent.JobName) %extraBuildProperties% ${{ parameters.extraProperties }}
275282 displayName: Build
276283 workingDirectory: ${{ variables.sourcesPath }}
277284 env:
@@ -282,7 +289,7 @@ jobs:
282289
283290 - ${{ if eq(parameters.runTests, 'True') }} :
284291 - script : |
285- call build.cmd -ci -prepareMachine -test -excludeCIBinarylog /bl:artifacts/log/Release/Test.binlog /p:TargetOS=${{ parameters.targetOS }} /p:TargetArchitecture=${{ parameters.targetArchitecture }} ${{ parameters.extraProperties }}
292+ call build.cmd -ci -prepareMachine -test -excludeCIBinarylog /bl:artifacts/log/Release/Test.binlog /p:TargetOS=${{ parameters.targetOS }} /p:TargetArchitecture=${{ parameters.targetArchitecture }} /p:VerticalName=$(Agent.JobName) ${{ parameters.extraProperties }}
286293 displayName: Run Tests
287294 workingDirectory: ${{ variables.sourcesPath }}
288295 timeoutInMinutes: ${{ variables.runTestsTimeout }}
@@ -380,6 +387,8 @@ jobs:
380387 extraBuildProperties="$extraBuildProperties ${{ parameters.extraProperties }}"
381388 fi
382389
390+ extraBuildProperties="$extraBuildProperties /p:VerticalName=$(Agent.JobName)"
391+
383392 buildArgs="$(additionalBuildArgs) $customBuildArgs $extraBuildProperties"
384393
385394 # Only use Docker when a container is specified
@@ -455,6 +464,8 @@ jobs:
455464 customBuildArgs="$customBuildArgs --target-rid ${{ parameters.targetRid }}"
456465 fi
457466
467+ extraBuildProperties="$extraBuildProperties /p:VerticalName=$(Agent.JobName)"
468+
458469 if [[ -n "${{ parameters.extraProperties }}" ]]; then
459470 extraBuildProperties="$extraBuildProperties ${{ parameters.extraProperties }}"
460471 fi
@@ -585,6 +596,19 @@ jobs:
585596 TargetFolder : $(Build.ArtifactStagingDirectory)/publishing
586597 displayName : Copy artifacts to Artifact Staging Directory
587598
599+ - ${{ if eq(parameters.targetOS, 'windows') }} :
600+ - powershell : |
601+ $sourcePath = "$(sourcesPath)/artifacts/manifests/VerticalManifest.xml"
602+ $targetPath = "$(Build.ArtifactStagingDirectory)/manifests/$(Agent.JobName).xml"
603+ New-Item -ItemType Directory -Path "$(Build.ArtifactStagingDirectory)/manifests" -Force | Out-Null
604+ Copy-Item $sourcePath -Destination $targetPath -Force
605+ displayName: Copy vertical manifest to Artifact Staging Directory
606+ - ${{ else }} :
607+ - script : |
608+ mkdir -p "$(Build.ArtifactStagingDirectory)/manifests"
609+ cp "$(sourcesPath)/artifacts/manifests/VerticalManifest.xml" "$(Build.ArtifactStagingDirectory)/manifests/$(Agent.JobName).xml"
610+ displayName: Copy vertical manifest to Artifact Staging Directory
611+
588612 # When building from source, the Private.SourceBuilt.Artifacts archive already contains the nuget packages
589613 - ${{ if ne(parameters.buildSourceOnly, 'true') }} :
590614 - task : CopyFiles@2
@@ -598,3 +622,11 @@ jobs:
598622 artifact : $(Agent.JobName)_Artifacts
599623 displayName : Publish Artifacts
600624 continueOnError : true
625+
626+ # Using build artifacts to enable publishing the vertical manifests to a single artifact from different jobs
627+ - task : PublishBuildArtifacts@1
628+ inputs :
629+ PathtoPublish : $(Build.ArtifactStagingDirectory)/manifests/$(Agent.JobName).xml
630+ ArtifactName : VerticalManifests
631+ displayName : Publish Vertical Manifest
632+ condition : succeededOrFailed()
0 commit comments