diff --git a/Build/cg/cg.yml b/Build/cg/cg.yml index 7f1b47176..dc4dd0c49 100644 --- a/Build/cg/cg.yml +++ b/Build/cg/cg.yml @@ -107,8 +107,18 @@ extends: fi retryCountOnTaskFailure: 3 - - script: | - cd $(Build.SourcesDirectory)\Extension - npx @vscode/vsce@3.7.1 package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix - name: ProcessRunner_12 + - script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/vsce@3.7.1 + displayName: Install vsce + workingDirectory: $(Build.SourcesDirectory)\Extension + + - script: npm rebuild @vscode/vsce-sign --ignore-scripts=false + displayName: Rebuild vsce-sign binary + workingDirectory: $(Build.SourcesDirectory)\Extension + + - script: if not exist node_modules\@vscode\vsce-sign\bin\vsce-sign.exe (echo Missing vsce-sign.exe && exit 1) + displayName: Verify vsce-sign binary exists + workingDirectory: $(Build.SourcesDirectory)\Extension + + - script: npx vsce package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix displayName: Run VSCE to package vsix + workingDirectory: $(Build.SourcesDirectory)\Extension diff --git a/Build/package/jobs_package_vsix.yml b/Build/package/jobs_package_vsix.yml index 95d65b430..b5a73b174 100644 --- a/Build/package/jobs_package_vsix.yml +++ b/Build/package/jobs_package_vsix.yml @@ -59,13 +59,24 @@ jobs: - script: mkdir $(Build.ArtifactStagingDirectory)\vsix displayName: Create Staging Directory - - script: | - cd $(Build.SourcesDirectory)\${{ parameters.srcDir }} - npx @vscode/vsce@3.7.1 package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix + - script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/vsce@3.7.1 + displayName: Install vsce + workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} + + - script: npm rebuild @vscode/vsce-sign --ignore-scripts=false + displayName: Rebuild vsce-sign binary + workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} + + - script: if not exist node_modules\@vscode\vsce-sign\bin\vsce-sign.exe (echo Missing vsce-sign.exe && exit 1) + displayName: Verify vsce-sign binary exists + workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} + + - script: npx vsce package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix displayName: Run VSCE to package vsix + workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} # sign the vsix - - script: npx @vscode/vsce@3.7.1 generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest + - script: npx vsce generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest displayName: generate manifest workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} - script: copy $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s diff --git a/Build/publish/jobs_publish_vsix.yml b/Build/publish/jobs_publish_vsix.yml index 9cab81201..9decb93f8 100644 --- a/Build/publish/jobs_publish_vsix.yml +++ b/Build/publish/jobs_publish_vsix.yml @@ -31,8 +31,16 @@ jobs: $aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken" - - script: | - npx @vscode/vsce@3.7.1 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 + - script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/vsce@3.7.1 + displayName: Install vsce + + - script: npm rebuild @vscode/vsce-sign --ignore-scripts=false + displayName: Rebuild vsce-sign binary + + - script: if not exist node_modules\@vscode\vsce-sign\bin\vsce-sign.exe (echo Missing vsce-sign.exe && exit 1) + displayName: Verify vsce-sign binary exists + + - 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 displayName: Publish to Marketplace env: VSCE_PAT: $(AAD_TOKEN)