Skip to content

Commit 16b2d61

Browse files
committed
Replace compliance tasks with template
And sign third-party libraries, which negates the need to setup malware scanning (since signed binaries are scanned automatically).
1 parent 93fdbb5 commit 16b2d61

File tree

1 file changed

+34
-68
lines changed

1 file changed

+34
-68
lines changed

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

+34-68
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,9 @@ steps:
1616

1717
- template: EsrpSign.yml@ComplianceRepo
1818
parameters:
19-
# NOTE: All artifacts are copied to "Signed" even though only some are
20-
# actually signed. We then publish this folder below.
2119
buildOutputPath: '$(Build.ArtifactStagingDirectory)/PowerShellEditorServices'
22-
signOutputPath: '$(Build.ArtifactStagingDirectory)/Signed'
23-
certificateId: 'CP-230012' # Authenticode certificate.
20+
signOutputPath: '$(Build.ArtifactStagingDirectory)/FirstPartySigned'
21+
certificateId: 'CP-230012' # Authenticode certificate
2422
useMinimatch: true
2523
pattern: |
2624
# PowerShellEditorServices Script
@@ -33,71 +31,39 @@ steps:
3331
# PowerShellEditorServices.VSCode Binary
3432
PowerShellEditorServices.VSCode/bin/Microsoft.PowerShell.EditorServices.VSCode.dll
3533
36-
- publish: $(Build.ArtifactStagingDirectory)/Signed
34+
- template: EsrpSign.yml@ComplianceRepo
35+
parameters:
36+
buildOutputPath: '$(Build.ArtifactStagingDirectory)/FirstPartySigned'
37+
signOutputPath: '$(Build.ArtifactStagingDirectory)/ThirdPartySigned'
38+
certificateId: 'CP-231522' # Third-party certificate
39+
useMinimatch: true
40+
pattern: |
41+
**/MediatR.dll
42+
**/Nerdbank.Streams.dll
43+
**/Newtonsoft.Json.dll
44+
**/OmniSharp*.dll
45+
**/Serilog*.dll
46+
**/UnixConsoleEcho.dll
47+
48+
- publish: $(Build.ArtifactStagingDirectory)/ThirdPartySigned
3749
artifact: PowerShellEditorServices
3850
displayName: 'Publish signed (and unsigned) artifacts'
3951

40-
# TODO: Use templates for compliance checks
41-
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
42-
displayName: 'Component Detection'
43-
44-
- task: AntiMalware@3
45-
inputs:
46-
InputType: 'Basic'
47-
ScanType: 'CustomScan'
48-
FileDirPath: '$(Build.ArtifactStagingDirectory)'
49-
EnableServices: false
50-
SupportLogOnError: false
51-
TreatSignatureUpdateFailureAs: 'Warning'
52-
SignatureFreshness: 'UpToDate'
53-
TreatStaleSignatureAs: 'Error'
52+
- checkout: self
5453

55-
- task: PoliCheck@1
56-
condition: succeededOrFailed()
57-
inputs:
58-
targetType: F
59-
optionsFC: 0
60-
optionsXS: 0
61-
optionsPE: '1|2|3|4'
62-
optionsHMENABLE: 0
63-
optionsFTPATH: '$(Build.SourcesDirectory)/PowerShellEditorServices/tools/terms/FileTypeSet.xml'
64-
# toolVersion: 5.8.2.1
65-
66-
- task: CredScan@2
67-
condition: succeededOrFailed()
68-
69-
# - task: BinSkim@3
70-
# condition: succeededOrFailed()
71-
# inputs:
72-
# InputType: 'Basic'
73-
# Function: 'analyze'
74-
# AnalyzeRecurse: true
75-
# AnalyzeTarget: '$(Build.ArtifactStagingDirectory)\release;$(Build.ArtifactStagingDirectory)\OutGridView*.dll'
76-
77-
# Publish results as artifacts
78-
- task: PublishSecurityAnalysisLogs@3
79-
condition: succeededOrFailed()
80-
inputs:
81-
ArtifactName: 'CodeAnalysisLogs'
82-
ArtifactType: 'Container'
83-
84-
# Publish to TSA server
85-
- task: TSAUpload@1
86-
condition: succeededOrFailed()
87-
continueOnError: true
88-
inputs:
89-
tsaVersion: 'TsaV2'
90-
codebase: 'Existing'
91-
tsaEnvironment: 'PROD'
92-
codeBaseName: 'PowerShell_PowerShellEditorServices_20190917'
93-
uploadAPIScan: false
94-
uploadBinSkim: false
95-
uploadCredScan: true
96-
uploadFortifySCA: false
97-
uploadFxCop: false
98-
uploadModernCop: false
99-
uploadPoliCheck: true
100-
uploadPREfast: false
101-
uploadRoslyn: false
102-
uploadTSLint: false
103-
uploadAsync: true
54+
- template: assembly-module-compliance.yml@ComplianceRepo
55+
parameters:
56+
# binskim
57+
AnalyzeTarget: '$(Build.ArtifactStagingDirectory)/*.dll'
58+
AnalyzeSymPath: 'SRV*'
59+
# component-governance
60+
sourceScanPath: '$(Build.SourcesDirectory)/PowerShellEditorServices'
61+
# credscan
62+
suppressionsFile: ''
63+
# TermCheck AKA PoliCheck
64+
optionsRulesDBPath: ''
65+
optionsFTPath: '$(Build.SourcesDirectory)/PowerShellEditorServices/tools/terms/FileTypeSet.xml'
66+
# tsa-upload
67+
codeBaseName: 'PowerShell_PowerShellEditorServices_20210201'
68+
# selections
69+
APIScan: false

0 commit comments

Comments
 (0)