11steps :
22
3+ # TODO: Replace build artifacts with pipeline artifacts
34- task : DownloadBuildArtifacts@0
4- displayName : ' Download Build Artifacts '
5+ displayName : Download build artifacts
56 inputs :
67 downloadType : specific
78
89- task : ExtractFiles@1
9- displayName : ' Extract Build Zip '
10+ displayName : Unzip build artifacts
1011 inputs :
11- archiveFilePatterns : ' $(Build.ArtifactStagingDirectory)/PowerShellEditorServices-CI/PowerShellEditorServices*.zip'
12- destinationFolder : ' $(Build.ArtifactStagingDirectory)/PowerShellEditorServices '
12+ archiveFilePatterns : $(Build.ArtifactStagingDirectory)/PowerShellEditorServices-CI/PowerShellEditorServices*.zip
13+ destinationFolder : $(Build.ArtifactStagingDirectory)/Unsigned
1314
1415- checkout : ComplianceRepo
15- displayName : ' Checkout the ComplianceRepo'
1616
17+ # NOTE: The signing templates explicitly copy everything along as they run, so
18+ # the last output path has every signed (and intentionally unsigned) file.
1719- template : EsrpSign.yml@ComplianceRepo
1820 parameters :
19- buildOutputPath : ' $(Build.ArtifactStagingDirectory)/PowerShellEditorServices'
20- signOutputPath : ' $(Build.ArtifactStagingDirectory)/FirstPartySigned'
21- alwaysCopy : true # So publishing works
22- certificateId : ' CP-230012' # Authenticode certificate
23- useMinimatch : true # This enables the use of globbing
21+ buildOutputPath : $(Build.ArtifactStagingDirectory)/Unsigned
22+ signOutputPath : $(Build.ArtifactStagingDirectory)/FirstPartySigned
23+ alwaysCopy : true
24+ certificateId : CP-230012 # Authenticode certificate
2425 shouldSign : true # We always want to sign
26+ useMinimatch : true # This enables the use of globbing
2527 pattern : |
2628 # PowerShellEditorServices Script
2729 PowerShellEditorServices/*.{ps1,psd1,psm1,ps1xml}
@@ -35,12 +37,12 @@ steps:
3537
3638 - template : EsrpSign.yml@ComplianceRepo
3739 parameters :
38- buildOutputPath : ' $(Build.ArtifactStagingDirectory)/FirstPartySigned'
39- signOutputPath : ' $(Build.ArtifactStagingDirectory)/ThirdPartySigned'
40- alwaysCopy : true # So publishing works
41- certificateId : ' CP-231522' # Third-party certificate
42- useMinimatch : true # This enables the use of globbing
40+ buildOutputPath : $(Build.ArtifactStagingDirectory)/FirstPartySigned
41+ signOutputPath : $(Build.ArtifactStagingDirectory)/ThirdPartySigned
42+ alwaysCopy : true
43+ certificateId : CP-231522 # Third-party certificate
4344 shouldSign : true # We always want to sign
45+ useMinimatch : true # This enables the use of globbing
4446 pattern : |
4547 **/MediatR.dll
4648 **/Nerdbank.Streams.dll
@@ -49,9 +51,19 @@ steps:
4951 **/Serilog*.dll
5052 **/UnixConsoleEcho.dll
5153
52- - publish : $(Build.ArtifactStagingDirectory)/ThirdPartySigned
54+ - task : ArchiveFiles@2
55+ displayName : Zip finished assets
56+ inputs :
57+ rootFolderOrFile : $(Build.ArtifactStagingDirectory)/ThirdPartySigned
58+ includeRootFolder : false
59+ archiveType : zip
60+ archiveFile : $(Build.ArtifactStagingDirectory)/PowerShellEditorServices.zip
61+ replaceExistingArchive : true
62+ verbose : true
63+
64+ - publish : $(Build.ArtifactStagingDirectory)/PowerShellEditorServices.zip
5365 artifact : PowerShellEditorServices
54- displayName : ' Publish signed (and unsigned) artifacts'
66+ displayName : Publish signed pipeline artifacts
5567
5668- checkout : self
5769
0 commit comments