Move VS Code extension publishing to release pipeline, fix pre-release packaging#15277
Move VS Code extension publishing to release pipeline, fix pre-release packaging#15277
Conversation
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 15277Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 15277" |
There was a problem hiding this comment.
Pull request overview
Moves VS Code extension publishing responsibilities out of the main build pipeline and into the dedicated release pipeline, while adding support to correctly package VSIX artifacts as pre-release when needed (so Marketplace pre-release publishing succeeds).
Changes:
- Add an MSBuild property to package the VSIX with
vsce package --pre-releasewhen requested. - Remove Marketplace publish/PAT verification from
BuildAndTest.ymland plumb a packaging-only pre-release parameter through the build pipeline. - Add a VS Code publishing job to
release-publish-nuget.yml(download artifacts, verify signature/PAT, publish or dry-run).
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| extension/package.json | Bumps extension version to 1.0.5. |
| extension/Extension.proj | Adds PackExtensionAsPreRelease and applies it to vsce package. |
| eng/pipelines/templates/BuildAndTest.yml | Removes Marketplace publishing; forwards pre-release packaging flag into MSBuild. |
| eng/pipelines/azure-pipelines.yml | Replaces publish-related params with packaging-only vscePackagePreRelease; removes secrets group from build pipeline. |
| eng/pipelines/release-publish-nuget.yml | Adds VS Code publishing parameters, artifacts handling, and a Marketplace publish job. |
You can also share your feedback on Copilot code review. Take the survey.
🎬 CLI E2E Test RecordingsThe following terminal recordings are available for commit
📹 Recordings uploaded automatically from CI run #23146628612 |
|
@adamint can we push these changes to main branch instead? For the release, we use the definition in main of this pipeline. |
…e packaging - Add PackExtensionAsPreRelease MSBuild property to Extension.proj so --pre-release is passed at vsce package time (fixes the root cause) - Remove extension publish steps from BuildAndTest.yml (build template) - Simplify azure-pipelines.yml to single vscePackagePreRelease param - Add full VSCodeJob to release-publish-nuget.yml with artifact download, signature verification, PAT check, dry-run support, and conditional --pre-release publishing - Bump extension version to 1.0.5
16d51a1 to
24d38a7
Compare
|
@joperezr Done — rebased onto |
Description
Move VS Code extension publishing from the build pipeline (
BuildAndTest.yml) to the dedicated release pipeline (release-publish-nuget.yml), and fix pre-release packaging by passing--pre-releaseatvsce packagetime.Root cause:
vsce publish --pre-releasefails with "Cannot use '--pre-release' flag with a package that was not packaged as pre-release" because--pre-releasemust be passed tovsce package, not justvsce publish. The flag embeds pre-release metadata in the VSIX.Changes:
PackExtensionAsPreReleaseMSBuild property. When true, passes--pre-releasetovsce package.vscePackagePreReleaseparam that flows to MSBuild.vscePackagePreRelease. Remove build-time secrets variable group.VSCodeJobwith full publish workflow (artifact download, signature verification, PAT check, dry-run support, conditional--pre-release). AddPublishVSCodeExtension,VSCodePreRelease,SkipVSCodePublishparams.Checklist