@@ -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
@@ -38,24 +38,37 @@ jobs:
3838 inputs :
3939 version : 22.x
4040
41- - task : Npm@0
42- displayName : Install vsce
43- inputs :
44- arguments : --global @vscode/vsce
45-
4641 - task : geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
4742 displayName : Use Yarn 1.x
4843
44+ - script : IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc
45+ displayName : Delete .npmrc if it exists
46+
47+ - task : Bash@3
48+ displayName : Build files
49+ inputs :
50+ targetType : ' inline'
51+ script : |
52+ export SRC_DIR=$(echo $BUILD_SOURCESDIRECTORY | sed 's|\\|/|g')
53+ cd "$SRC_DIR/${{ parameters.srcDir }}"
54+ yarn install
55+ if [ $? -ne 0 ]; then
56+ echo "yarn install failed, sleeping for 30s before retrying..."
57+ sleep 30
58+ exit 1
59+ fi
60+ retryCountOnTaskFailure : 3
61+
4962 - script : mkdir $(Build.ArtifactStagingDirectory)\vsix
5063 displayName : Create Staging Directory
5164
5265 - script : |
5366 cd $(Build.SourcesDirectory)\${{ parameters.srcDir }}
54- vsce package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}
67+ npx @vscode/ vsce@3.7.1 package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix
5568 displayName: Run VSCE to package vsix
5669
5770# sign the vsix
58- - script : vsce generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest
71+ - script : npx @vscode/ vsce@3.7.1 generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest
5972 displayName : generate manifest
6073 workingDirectory : $(Build.SourcesDirectory)\${{ parameters.srcDir }}
6174 - script : copy $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s
7083 - task : MSBuild@1
7184 displayName : Sign the vsix
7285 inputs :
73- command : uninstall
74- arguments : --global @vscode/vsce
86+ solution : $(Build.SourcesDirectory)\Build\signing\SignVsix.proj
87+ msbuildArguments : /p:SignType=${{ parameters.signType }}
0 commit comments