From 277e805a55461f90c070fd1ac66f1b681911cb98 Mon Sep 17 00:00:00 2001 From: Patrick Hallisey Date: Wed, 19 Nov 2025 09:27:15 -0800 Subject: [PATCH 1/4] Reduce VSIX release to 1 step and output marketplace info --- .../templates/jobs/vsix/release-vsix.yml | 54 ++++++++++--------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/eng/pipelines/templates/jobs/vsix/release-vsix.yml b/eng/pipelines/templates/jobs/vsix/release-vsix.yml index 8b012b3292..5b2a005c1d 100644 --- a/eng/pipelines/templates/jobs/vsix/release-vsix.yml +++ b/eng/pipelines/templates/jobs/vsix/release-vsix.yml @@ -40,16 +40,6 @@ jobs: runOnce: deploy: steps: - - pwsh: | - $buildInfoPath = "$(Pipeline.Workspace)/build_info/build_info.json" - $buildInfo = Get-Content $buildInfoPath -Raw | ConvertFrom-Json - $server = $buildInfo.servers | Where-Object { $_.name -eq '${{ parameters.ServerName }}' } - $prereleaseArg = $server.vsixIsPrerelease ? "--pre-release" : "" - Write-Host "Server: $($server.name), Version: $($server.version), VSIX Version: $($server.vsixVersion), Is Prerelease: $($server.vsixIsPrerelease)" - Write-Host "Prerelease argument: '$prereleaseArg'" - Write-Host "##vso[task.setvariable variable=prereleaseArg]$prereleaseArg" - displayName: Determine prerelease flag from build_info - - task: AzureCLI@2 displayName: "Publish (using vsce) - ${{ VsixTarget }}" inputs: @@ -59,19 +49,35 @@ jobs: workingDirectory: $(Pipeline.Workspace)/drop/${{ parameters.ServerName }}/${{ VsixTarget }} inlineScript: | Write-Host "Publishing VSIX for ${{ VsixTarget }}" - + Write-Host "VS Code Marketplace info for az login:" + az rest -u https://app.vssps.visualstudio.com/_apis/profile/profiles/me --resource 499b84ac-1321-427f-aa17-267ca6975798 + + $buildInfo = Get-Content "$(Pipeline.Workspace)/build_info/build_info.json" -Raw | ConvertFrom-Json + $server = $buildInfo.servers | Where-Object { $_.name -eq '${{ parameters.ServerName }}' } + $baseName = Get-ChildItem *.vsix | Select-Object -ExpandProperty BaseName -First 1 - Write-Host "VSIX baseName: $baseName" - Write-Host "Prerelease argument: '$(prereleaseArg)'" - - npm install -g @vscode/vsce - - if ("$(prereleaseArg)" -ne "") { - $publishCmd = "vsce publish --azure-credential --packagePath `"$baseName.vsix`" --manifestPath `"$baseName.manifest`" --signaturePath `"$baseName.signature.p7s`" --pre-release" - Write-Host "Executing: $publishCmd" - vsce publish --azure-credential --packagePath "$baseName.vsix" --manifestPath "$baseName.manifest" --signaturePath "$baseName.signature.p7s" --pre-release - } else { - $publishCmd = "vsce publish --azure-credential --packagePath `"$baseName.vsix`" --manifestPath `"$baseName.manifest`" --signaturePath `"$baseName.signature.p7s`"" - Write-Host "Executing: $publishCmd" - vsce publish --azure-credential --packagePath "$baseName.vsix" --manifestPath "$baseName.manifest" --signaturePath "$baseName.signature.p7s" + + $args = @('--azure-credential', "--packagePath `"$baseName.vsix`"", "--manifestPath `"$baseName.manifest`"", "--signaturePath `"$baseName.signature.p7s`"") + if ($server.vsixIsPrerelease) { + $args += '--pre-release' } + + $publishCmd = "vsce publish $($args -join ' ')" + + Write-Host @" + Server: $($server.name) + Version: $($server.version) + VSIX Version: $($server.vsixVersion) + VSIX baseName: $baseName + Is Prerelease: $($server.vsixIsPrerelease) + + Publish arguments: + $($args -join '`n ') + "@ + + Write-Host '' + Write-Host 'Installing vsce...' + npm install -g @vscode/vsce + + Write-Host "Executing: $publishCmd" + Invoke-Expression $publishCmd From 53797c2943dcec074d25cdd0705e80207eece329 Mon Sep 17 00:00:00 2001 From: Patrick Hallisey Date: Wed, 19 Nov 2025 10:01:41 -0800 Subject: [PATCH 2/4] Update per PR comments --- eng/pipelines/templates/jobs/vsix/release-vsix.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/eng/pipelines/templates/jobs/vsix/release-vsix.yml b/eng/pipelines/templates/jobs/vsix/release-vsix.yml index 5b2a005c1d..b2234d47c1 100644 --- a/eng/pipelines/templates/jobs/vsix/release-vsix.yml +++ b/eng/pipelines/templates/jobs/vsix/release-vsix.yml @@ -57,13 +57,11 @@ jobs: $baseName = Get-ChildItem *.vsix | Select-Object -ExpandProperty BaseName -First 1 - $args = @('--azure-credential', "--packagePath `"$baseName.vsix`"", "--manifestPath `"$baseName.manifest`"", "--signaturePath `"$baseName.signature.p7s`"") + $publishArgs = @('--azure-credential', "--packagePath `"$baseName.vsix`"", "--manifestPath `"$baseName.manifest`"", "--signaturePath `"$baseName.signature.p7s`"") if ($server.vsixIsPrerelease) { - $args += '--pre-release' + $publishArgs += '--pre-release' } - $publishCmd = "vsce publish $($args -join ' ')" - Write-Host @" Server: $($server.name) Version: $($server.version) @@ -72,12 +70,12 @@ jobs: Is Prerelease: $($server.vsixIsPrerelease) Publish arguments: - $($args -join '`n ') + $($publishArgs -join "`n ") "@ Write-Host '' Write-Host 'Installing vsce...' npm install -g @vscode/vsce - Write-Host "Executing: $publishCmd" - Invoke-Expression $publishCmd + Write-Host "Executing: vsce publish $($publishArgs -join ' ')" + vsce publish @publishArgs From e688187cf4a15b96593b50be027d85852a88fb6a Mon Sep 17 00:00:00 2001 From: Patrick Hallisey Date: Tue, 25 Nov 2025 15:10:29 -0800 Subject: [PATCH 3/4] Don't combine args into single strings --- eng/pipelines/templates/jobs/vsix/release-vsix.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/eng/pipelines/templates/jobs/vsix/release-vsix.yml b/eng/pipelines/templates/jobs/vsix/release-vsix.yml index b2234d47c1..5a7290a169 100644 --- a/eng/pipelines/templates/jobs/vsix/release-vsix.yml +++ b/eng/pipelines/templates/jobs/vsix/release-vsix.yml @@ -57,7 +57,7 @@ jobs: $baseName = Get-ChildItem *.vsix | Select-Object -ExpandProperty BaseName -First 1 - $publishArgs = @('--azure-credential', "--packagePath `"$baseName.vsix`"", "--manifestPath `"$baseName.manifest`"", "--signaturePath `"$baseName.signature.p7s`"") + $publishArgs = @('--azure-credential', '--packagePath', "$baseName.vsix", "--manifestPath", "$baseName.manifest", "--signaturePath", "$baseName.signature.p7s") if ($server.vsixIsPrerelease) { $publishArgs += '--pre-release' } @@ -69,10 +69,6 @@ jobs: VSIX baseName: $baseName Is Prerelease: $($server.vsixIsPrerelease) - Publish arguments: - $($publishArgs -join "`n ") - "@ - Write-Host '' Write-Host 'Installing vsce...' npm install -g @vscode/vsce From 32300256b84ea14b168b40ed91a134112c40755e Mon Sep 17 00:00:00 2001 From: Patrick Hallisey Date: Mon, 1 Dec 2025 13:43:00 -0800 Subject: [PATCH 4/4] Fix herestring in release-vsix --- eng/pipelines/templates/jobs/vsix/release-vsix.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/templates/jobs/vsix/release-vsix.yml b/eng/pipelines/templates/jobs/vsix/release-vsix.yml index 5a7290a169..b4490757a7 100644 --- a/eng/pipelines/templates/jobs/vsix/release-vsix.yml +++ b/eng/pipelines/templates/jobs/vsix/release-vsix.yml @@ -68,9 +68,9 @@ jobs: VSIX Version: $($server.vsixVersion) VSIX baseName: $baseName Is Prerelease: $($server.vsixIsPrerelease) + "@ - Write-Host '' - Write-Host 'Installing vsce...' + Write-Host "`nInstalling vsce..." npm install -g @vscode/vsce Write-Host "Executing: vsce publish $($publishArgs -join ' ')"