Skip to content

Commit 727a708

Browse files
Adopt vsix sign in the release pipeline (#1039)
1 parent 959d00c commit 727a708

File tree

2 files changed

+70
-4
lines changed

2 files changed

+70
-4
lines changed

.azure-pipelines/nightly.yml

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ extends:
7878
- bash: |
7979
npx json@latest -I -f package.json -e "this.version=this.version.substring(0, this.version.lastIndexOf('.'))+\".$(date -u +'%Y%m%d%H')\""
8080
displayName: Update patch version in package.json
81-
- script: 'npx @vscode/vsce@latest package --pre-release'
81+
- script: 'npx @vscode/vsce@latest package --pre-release -o extension.vsix'
8282
displayName: 'package vsix'
8383
### Copy files for APIScan
8484
- task: CopyFiles@2
@@ -99,8 +99,41 @@ extends:
9999
condition: and(succeeded(), ne(variables['DisableAPIScan'], 'true'))
100100
env:
101101
AzureServicesAuthConnectionString: runAs=App;AppId=$(ApiScanClientId);TenantId=$(ApiScanTenant);AppKey=$(ApiScanSecret)
102+
- script: npx @vscode/vsce@latest generate-manifest -i extension.vsix -o extension.manifest
103+
displayName: 'Generate extension manifest'
104+
- script: cp extension.manifest extension.signature.p7s
105+
displayName: 'Prepare manifest for signing'
106+
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@5
107+
inputs:
108+
ConnectedServiceName: $(EsrpConnectionServiceName)
109+
AppRegistrationClientId: $(AppRegistrationClientId)
110+
AppRegistrationTenantId: $(AppRegistrationTenantId)
111+
AuthAKVName: $(AuthAKVName)
112+
AuthCertName: $(AuthCertName)
113+
AuthSignCertName: $(AuthSignCertName)
114+
FolderPath: '.'
115+
Pattern: 'extension.signature.p7s'
116+
signConfigType: inlineSignParams
117+
inlineOperation: |
118+
[
119+
{
120+
"keyCode": "CP-401405",
121+
"operationSetCode": "VSCodePublisherSign",
122+
"parameters" : [],
123+
"toolName": "sign",
124+
"toolVersion": "1.0"
125+
}
126+
]
127+
SessionTimeout: 90
128+
MaxConcurrency: 25
129+
MaxRetryAttempts: 5
130+
PendingAnalysisWaitTimeoutMinutes: 5
131+
displayName: 'Sign extension'
102132
- task: CopyFiles@2
103133
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
104134
inputs:
105-
Contents: '*.vsix'
135+
Contents: |
136+
extension.vsix
137+
extension.manifest
138+
extension.signature.p7s
106139
TargetFolder: '$(Build.ArtifactStagingDirectory)'

.azure-pipelines/rc.yml

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ extends:
7575
- bash: |
7676
npx json@latest -I -f package.json -e "this.aiKey=\"$(AI_KEY)\""
7777
displayName: Replace AI Key
78-
- script: 'npx @vscode/vsce@latest package'
78+
- script: 'npx @vscode/vsce@latest package -o extension.vsix'
7979
displayName: 'package vsix'
8080
### Copy files for APIScan
8181
- task: CopyFiles@2
@@ -96,8 +96,41 @@ extends:
9696
condition: and(succeeded(), ne(variables['DisableAPIScan'], 'true'))
9797
env:
9898
AzureServicesAuthConnectionString: runAs=App;AppId=$(ApiScanClientId);TenantId=$(ApiScanTenant);AppKey=$(ApiScanSecret)
99+
- script: npx @vscode/vsce@latest generate-manifest -i extension.vsix -o extension.manifest
100+
displayName: 'Generate extension manifest'
101+
- script: cp extension.manifest extension.signature.p7s
102+
displayName: 'Prepare manifest for signing'
103+
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@5
104+
inputs:
105+
ConnectedServiceName: $(EsrpConnectionServiceName)
106+
AppRegistrationClientId: $(AppRegistrationClientId)
107+
AppRegistrationTenantId: $(AppRegistrationTenantId)
108+
AuthAKVName: $(AuthAKVName)
109+
AuthCertName: $(AuthCertName)
110+
AuthSignCertName: $(AuthSignCertName)
111+
FolderPath: '.'
112+
Pattern: 'extension.signature.p7s'
113+
signConfigType: inlineSignParams
114+
inlineOperation: |
115+
[
116+
{
117+
"keyCode": "CP-401405",
118+
"operationSetCode": "VSCodePublisherSign",
119+
"parameters" : [],
120+
"toolName": "sign",
121+
"toolVersion": "1.0"
122+
}
123+
]
124+
SessionTimeout: 90
125+
MaxConcurrency: 25
126+
MaxRetryAttempts: 5
127+
PendingAnalysisWaitTimeoutMinutes: 5
128+
displayName: 'Sign extension'
99129
- task: CopyFiles@2
100130
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
101131
inputs:
102-
Contents: '*.vsix'
132+
Contents: |
133+
extension.vsix
134+
extension.manifest
135+
extension.signature.p7s
103136
TargetFolder: '$(Build.ArtifactStagingDirectory)'

0 commit comments

Comments
 (0)