parameters:
name: ''
publishPackagesCondition: always()
+ publishVSSetupCondition: false
steps:
- task: CopyFiles@2
TargetFolder: '$(Build.StagingDirectory)/IntermediateArtifacts/${{ parameters.name }}'
CleanTargetFolder: true
+- task: CopyFiles@2
+ displayName: Prepare job-specific intermediate artifacts subdirectory
+ condition: and(succeeded(), ${{ parameters.publishVSSetupCondition }})
+ inputs:
+ SourceFolder: '$(Build.SourcesDirectory)/artifacts/VSSetup/$(_BuildConfig)'
+ Contents: |
+ Insertion/**/*
+ TargetFolder: '$(Build.StagingDirectory)/IntermediateArtifacts/${{ parameters.name }}'
+ CleanTargetFolder: true
+
- task: PublishBuildArtifacts@1
displayName: Publish intermediate artifacts
inputs:
Contents: '*.wixpdb'
# Upload artifacts to be used for generating VS components
- - task: PublishPipelineArtifact@1
- displayName: Publish workload artifacts
- inputs:
- targetPath: $(Build.SourcesDirectory)/artifacts/VSSetup/$(_BuildConfig)/Insertion
- artifactName: 'Insertion'
- continueOnError: true
- condition: always()
+ - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
+ parameters:
+ name: workloads-vs
+ publishPackagesCondition: false
+ publishVSSetupCondition: true
<PublishFlatContainer>true</PublishFlatContainer>
</ItemsToPush>
+ <ItemsToPush Include="@(WorkloadsVSInsertionFile)">
+ <RelativeBlobPath>$(InstallersRelativePath)workloads/$(SdkBandVersion)/%(Filename)%(Extension)</RelativeBlobPath>
+ <PublishFlatContainer>true</PublishFlatContainer>
+ </ItemsToPush>
</ItemGroup>
<!-- Push items to AzDO as build artifacts, generating the asset manifest as a side effect. -->
<DownloadedSymbolNupkgFile Include="$(DownloadDirectory)**\*.symbols.nupkg" />
<DownloadedWixPdbFile Include="$(DownloadDirectory)**\*.wixpdb" />
+ <DownloadedWorkloadsVSInsertionFile Include="$(DownloadDirectory)*\workloads-vs\**\*" />
<DownloadedNupkgFile
Include="$(DownloadDirectory)**\*.nupkg"
Exclude="@(DownloadedSymbolNupkgFile)" />
<!-- Add files that are not affected by filtering. -->
<UploadToBlobStorageFile
Include="@(DownloadedArtifactFile)"
- Exclude="@(DownloadedSymbolNupkgFile);@(DownloadedNupkgFile);@(DownloadedWixPdbFile)" />
+ Exclude="@(DownloadedSymbolNupkgFile);@(DownloadedNupkgFile);@(DownloadedWixPdbFile);@(DownloadedWorkloadsVSInsertionFile)" />
<!--
Filter out the RID-specific (Runtime) nupkgs and RID-agnostic nupkgs. RID-specific packages
Include="$(DownloadDirectory)**\VS.Redist.Common.*.nupkg"
Exclude="@(DownloadedSymbolNupkgFile)" />
+ <!-- Workloads VS insertion artifacts produced by src/workloads/workloads.csproj -->
+ <WorkloadsVSInsertionFile
+ Include="
+ $(DownloadDirectory)*\workloads-vs\**\*.json;
+ $(DownloadDirectory)*\workloads-vs\**\*.msi" />
+
<!--
Runtime packages associated with some identity packages. Need to exclude "runtime.native.*"
because Libraries produces some "runtime.native.Foo" packages with