Skip to content

Commit 296bde1

Browse files
committed
Move windows package signing to use ESRP (#14060)
# Conflicts: # tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml
1 parent 2edd191 commit 296bde1

File tree

2 files changed

+28
-35
lines changed

2 files changed

+28
-35
lines changed

tools/releaseBuild/azureDevOps/releaseBuild.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ resources:
1616
type: github
1717
endpoint: ComplianceGHRepo
1818
name: PowerShell/compliance
19+
ref: master
1920

2021
variables:
2122
- name: DOTNET_CLI_TELEMETRY_OPTOUT

tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml

Lines changed: 27 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,19 @@ jobs:
88
${{ parameters.parentJobs }}
99
condition: succeeded()
1010
pool:
11-
name: Package ES CodeHub Lab E
11+
vmImage: windows-latest
1212
variables:
13-
BuildConfiguration: release
14-
BuildPlatform: any cpu
13+
- name: DOTNET_SKIP_FIRST_TIME_EXPERIENCE
14+
value: 1
15+
- group: ESRP
1516

1617
steps:
1718
- checkout: self
1819
clean: true
1920

21+
- checkout: ComplianceRepo
22+
clean: true
23+
2024
- template: shouldSign.yml
2125
- template: SetVersionVariables.yml
2226
parameters:
@@ -36,36 +40,15 @@ jobs:
3640
# Diagnostics is not critical it passes every time it runs
3741
continueOnError: true
3842
39-
- powershell: |
40-
$authenticodefiles = @(
41-
"$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-x64.msi"
42-
"$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-x86.msi"
43-
)
44-
45-
$msixFiles = @(
46-
"$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-x86.msix"
47-
"$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-x64.msix"
48-
"$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-arm32.msix"
49-
"$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-arm64.msix"
50-
)
51-
52-
tools/releaseBuild/generatePackgeSigning.ps1 -AuthenticodeFiles $authenticodeFiles -path "$(System.ArtifactsDirectory)\package.xml" -MsixCertType $env:MSIX_TYPE -MsixFiles $msixFiles
53-
displayName: 'Generate Package Signing Xml'
54-
55-
- powershell: |
56-
Get-Content "$(System.ArtifactsDirectory)\package.xml"
57-
displayName: 'Capture signing xml'
58-
59-
- task: PkgESCodeSign@10
60-
displayName: 'CodeSign $(System.ArtifactsDirectory)\package.xml'
61-
env:
62-
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
63-
inputs:
64-
signConfigXml: '$(System.ArtifactsDirectory)\package.xml'
65-
outPathRoot: '$(Build.StagingDirectory)\signedPackages'
66-
binVersion: $(SigingVersion)
67-
binVersionOverride: $(SigningVersionOverride)
68-
condition: and(succeeded(), eq(variables['SHOULD_SIGN'], 'true'))
43+
- template: EsrpSign.yml@ComplianceRepo
44+
parameters:
45+
buildOutputPath: $(System.ArtifactsDirectory)\signed
46+
signOutputPath: $(Build.StagingDirectory)\signedPackages
47+
certificateId: "CP-230012"
48+
pattern: |
49+
**\*.msi
50+
**\*.msix
51+
useMinimatch: true
6952

7053
- powershell: |
7154
new-item -itemtype Directory -path '$(Build.StagingDirectory)\signedPackages'
@@ -110,8 +93,17 @@ jobs:
11093
msi: no
11194
msix: no
11295

113-
- task: securedevelopmentteam.vss-secure-development-tools.build-task-antimalware.AntiMalware@3
114-
displayName: 'Run Defender Scan'
96+
- task: SFP.build-tasks.custom-build-task-2.EsrpMalwareScanning@1
97+
displayName: 'Malware Scanning'
98+
inputs:
99+
ConnectedServiceName: pwshEsrpScanning
100+
FolderPath: '$(Build.StagingDirectory)'
101+
Pattern: |
102+
**\*.msix
103+
**\*.msi
104+
**\*.zip
105+
UseMinimatch: true
106+
SessionTimeout: 30
115107

116108
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
117109
displayName: 'Component Detection'

0 commit comments

Comments
 (0)