@@ -11,7 +11,7 @@ parameters:
1111
1212jobs :
1313- job : package
14- displayName : Build ${{ parameters.vsixName }}
14+ displayName : Build ${{ parameters.vsixName }}.vsix
1515 timeoutInMinutes : 30
1616 cancelTimeoutInMinutes : 1
1717 templateContext :
2626 autoBaseline : false
2727 outputs :
2828 - output : pipelineArtifact
29- displayName : ' ${{ parameters.vsixName }}'
29+ displayName : ' ${{ parameters.vsixName }}.vsix '
3030 targetPath : $(Build.ArtifactStagingDirectory)\vsix
3131 artifactName : vsix
3232
3838 inputs :
3939 version : 22.x
4040
41- - task : Npm@0
42- displayName : Install vsce
43- inputs :
44- arguments : --global @vscode/vsce
41+ - script : npm install --global @vscode/vsce@3.1.1
42+ displayName : install vsce@3.1.1
4543
4644 - task : geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
4745 displayName : Use Yarn 1.x
@@ -51,11 +49,27 @@ jobs:
5149
5250 - script : |
5351 cd $(Build.SourcesDirectory)\${{ parameters.srcDir }}
54- vsce package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}
52+ vsce package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix
5553 displayName: Run VSCE to package vsix
5654
57- - task : Npm@0
58- displayName : Uninstall vsce
55+ # sign the vsix
56+ - script : vsce generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest
57+ displayName : generate manifest
58+ workingDirectory : $(Build.SourcesDirectory)\${{ parameters.srcDir }}
59+ - script : copy $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s
60+ displayName : prepare manifest for signing
61+ workingDirectory : $(Build.SourcesDirectory)\${{ parameters.srcDir }}
62+ - task : NuGetToolInstaller@1
63+ displayName : Install NuGet
64+ - task : NuGetAuthenticate@1
65+ displayName : Authenticate NuGet
66+ - script : nuget restore $(Build.SourcesDirectory)\Build\signing\SignVsix.proj -PackagesDirectory $(Build.SourcesDirectory)\Build\signing\packages -ConfigFile $(Build.SourcesDirectory)\Build\signing\NuGet.config
67+ displayName : Restore MicroBuild Core
68+ - task : MSBuild@1
69+ displayName : Sign the vsix
5970 inputs :
60- command : uninstall
61- arguments : --global @vscode/vsce
71+ solution : $(Build.SourcesDirectory)\Build\signing\SignVsix.proj
72+ msbuildArguments : /p:SignType=${{ parameters.signType }}
73+
74+ - script : npm uninstall --global @vscode/vsce
75+ displayName : uninstall vsce
0 commit comments