@@ -14,13 +14,20 @@ jobs:
1414 pipeline : vsixBuild
1515 artifactName : vsix
1616 targetPath : $(Build.StagingDirectory)\vsix
17+ - input : pipelineArtifact
18+ pipeline : vsixBuild
19+ artifactName : vsce
20+ targetPath : $(Build.StagingDirectory)\vsce
1721
1822 steps :
1923 - task : NodeTool@0
2024 displayName : Use Node 22.x
2125 inputs :
2226 versionSpec : 22.x
2327
28+ - script : IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc
29+ displayName : Delete .npmrc if it exists
30+
2431 - task : AzureCLI@2
2532 displayName : Generate AAD_TOKEN
2633 inputs :
@@ -31,16 +38,24 @@ jobs:
3138 $aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv
3239 Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken"
3340
34- - script : npm install --no-save --ignore-scripts=false --include=optional --force @vscode/vsce@4.0.0
35- displayName : Install vsce
41+ - script : npm ci --include=dev --include=optional
42+ displayName : Install dependencies
43+ workingDirectory : $(Build.StagingDirectory)\vsce
3644
3745 - script : npm rebuild @vscode/vsce-sign --ignore-scripts=false
3846 displayName : Rebuild vsce-sign binary
47+ workingDirectory : $(Build.StagingDirectory)\vsce
3948
4049 - script : if not exist node_modules\@vscode\vsce-sign\bin\vsce-sign.exe (echo Missing vsce-sign.exe && exit 1)
4150 displayName : Verify vsce-sign binary exists
51+ workingDirectory : $(Build.StagingDirectory)\vsce
52+
53+ - script : npx vsce verify-signature -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -m $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest -s $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s
54+ displayName : Verify VSIX signature
55+ workingDirectory : $(Build.StagingDirectory)\vsce
4256
4357 - script : npx vsce publish --skip-duplicate -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix --manifestPath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest --signaturePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s
4458 displayName : Publish to Marketplace
59+ workingDirectory : $(Build.StagingDirectory)\vsce
4560 env :
4661 VSCE_PAT : $(AAD_TOKEN)
0 commit comments