Skip to content

Commit c123557

Browse files
Add SBOM template (#1705)
1 parent d9e6fb5 commit c123557

File tree

2 files changed

+39
-9
lines changed

2 files changed

+39
-9
lines changed

.vsts-ci/templates/ci-general.yml

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,17 @@ steps:
1717
filePath: tools/azurePipelinesBuild.ps1
1818
pwsh: ${{ parameters.pwsh }}
1919

20+
- task: PublishTestResults@2
21+
displayName: Publish test results
22+
inputs:
23+
testRunner: VSTest
24+
testResultsFiles: '**/*.trx'
25+
condition: succeededOrFailed()
26+
2027
# NOTE: We zip the artifacts because they're ~20 MB compressed, but ~300 MB raw,
2128
# and we have limited pipeline artifact storage space.
2229
- task: ArchiveFiles@2
23-
displayName: Zip pipeline artifacts
30+
displayName: Zip build output
2431
inputs:
2532
rootFolderOrFile: module
2633
includeRootFolder: false
@@ -30,11 +37,17 @@ steps:
3037

3138
- publish: PowerShellEditorServices-Build.zip
3239
artifact: PowerShellEditorServices-Build-$(System.JobId)
33-
displayName: Publish unsigned pipeline artifacts
40+
displayName: Publish build output archive
3441

35-
- task: PublishTestResults@2
36-
displayName: Publish test results
42+
- task: ArchiveFiles@2
43+
displayName: Zip sources with `project.assets.json`
3744
inputs:
38-
testRunner: VSTest
39-
testResultsFiles: '**/*.trx'
40-
condition: succeededOrFailed()
45+
rootFolderOrFile: src
46+
includeRootFolder: false
47+
archiveType: zip
48+
archiveFile: PowerShellEditorServices-Sources.zip
49+
verbose: true
50+
51+
- publish: PowerShellEditorServices-Sources.zip
52+
artifact: PowerShellEditorServices-Sources-$(System.JobId)
53+
displayName: Publish sources archive

.vsts-ci/templates/release-general.yml

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,23 @@ steps:
4848
**/Serilog*.dll
4949
**/UnixConsoleEcho.dll
5050
51+
# The SBOM generation requires our original sources with the `dotnet restore`
52+
# produced `project.assets.json` files.
53+
- task: ExtractFiles@1
54+
displayName: Extract source artifacts
55+
inputs:
56+
archiveFilePatterns: $(Pipeline.Workspace)/PowerShellEditorServices-Sources-*/PowerShellEditorServices-Sources.zip
57+
destinationFolder: $(Pipeline.Workspace)/Sources
58+
cleanDestinationFolder: true
59+
60+
- template: Sbom.yml@ComplianceRepo
61+
parameters:
62+
BuildDropPath: $(Pipeline.Workspace)/ThirdPartySigned
63+
Build_Repository_Uri: https://github.com/PowerShell/PowerShellEditorServices.git
64+
packageName: PowerShellEditorServices
65+
packageVersion: $(System.JobId)
66+
sourceScanPath: $(Pipeline.Workspace)/Sources
67+
5168
- task: ArchiveFiles@2
5269
displayName: Zip signed artifacts
5370
inputs:
@@ -65,8 +82,8 @@ steps:
6582
# binskim
6683
AnalyzeTarget: $(Pipeline.Workspace)/*.dll
6784
AnalyzeSymPath: 'SRV*'
68-
# component-governance
69-
sourceScanPath: $(Build.SourcesDirectory)/PowerShellEditorServices
85+
# component-governance: requires the `project.assets.json` files
86+
sourceScanPath: $(Pipeline.Workspace)/Sources
7087
# credscan
7188
suppressionsFile: ''
7289
# TermCheck AKA PoliCheck

0 commit comments

Comments
 (0)