Skip to content

Add independent VS Code extension releases - #64139

Open
Jake Bailey (jakebailey) wants to merge 24 commits into
microsoft:mainfrom
jakebailey:vscode-typescript-release-pipeline
Open

Add independent VS Code extension releases#64139
Jake Bailey (jakebailey) wants to merge 24 commits into
microsoft:mainfrom
jakebailey:vscode-typescript-release-pipeline

Conversation

@jakebailey

@jakebailey Jake Bailey (jakebailey) commented Sep 2, 2026

Copy link
Copy Markdown
Member

This adds the release workflow for our VS Code extension.

The release procedure is:

  • Get the extension changes one wants into the repo, e.g. the TS dependency we want to ship.
  • Run the "Bump vscode-typescript" GHA workflow
  • GHA will open a PR that shows the version bump.
  • Merge the PR when ready.
  • Bumping the version on main will trigger git tag creation, e.g. vscode-typescript/v1.2.3
  • The git tag will trigger a new Azure pipeline to build the release, sign, etc
  • Once that's ready, it'll queue up a publish job
  • The actual publish requires a manual approval from someone on the team.
  • The VSIX publish happens, and a github release is created out of the tag that contains the VSIXes, for use by VS Code.

Perhaps a bit roundabout, and requires two manual steps, but we could not require a second approval to actually get the bits out.

I expect to do something somewhat similar for the main TS releases, which have to operate in a very similar way.

Fixes #63924

Validate the package-lock version before creating a release tag and remove the unsupported test-signing path from the VSIX build pipeline.
@typescript-automation typescript-automation Bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug For Milestone Bug PRs that fix a bug with a specific milestone and removed For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Sep 2, 2026
@jakebailey
Jake Bailey (jakebailey) requested a balanced review from Copilot September 3, 2026 18:28

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The bump workflow must branch from main and create the documented pull request.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds independent versioning, tagging, building, signing, and publishing for the VS Code TypeScript extension.

Changes:

  • Adds version-bump and release-tag workflows.
  • Adds dedicated Azure build and publish pipelines.
  • Extends packaging with independent versions and release manifests.
File summaries
File Description
tools/pipelines/vscode-typescript-publish.yml Validates and publishes release artifacts.
tools/pipelines/vscode-typescript-build.yml Builds and signs tagged VSIX artifacts.
Herebyfile.mjs Implements extension release packaging and manifests.
.github/workflows/tag-vscode-typescript.yml Creates reviewed release tags.
.github/workflows/bump-vscode-typescript.yml Prepares version-bump release branches.
Review details
  • Files reviewed: 5/5 changed files
  • Comments generated: 2
  • Review effort level: Balanced

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/bump-vscode-typescript.yml
Comment thread .github/workflows/bump-vscode-typescript.yml Outdated
@jakebailey
Jake Bailey (jakebailey) requested a balanced review from Copilot September 4, 2026 20:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The release supply chain is not lockfile-pinned, and release-mode CI coverage and PR-trigger safeguards are missing.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details
  • Files reviewed: 10/11 changed files
  • Comments generated: 3
  • Review effort level: Balanced

Comment thread Herebyfile.mjs
Comment thread Herebyfile.mjs
Comment thread tools/pipelines/vscode-typescript-publish.yml
Fetch native package tarballs using the lockfile URLs and verify their\nSHA-512 integrity before packaging. Exercise the extension release path in\nCI and explicitly disable pull request triggers for the publish pipeline.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Release asset consistency remains unresolved, and the publishing workflow requires final human review.

Review details

Suppressed comments (1)

tools/pipelines/vscode-typescript-publish.yml:246

  • This note attributes the bundled compiler to the extension release commit, but the compiler is downloaded from the pinned @typescript/bundled-typescript npm package and may have been built from a different commit. Label this SHA as the extension source commit so the release metadata does not imply incorrect compiler provenance.
                                --notes "Bundles TypeScript $bundledTypeScriptVersion from commit $sourceCommit."
  • Files reviewed: 10/11 changed files
  • Comments generated: 1
  • Review effort level: Balanced

Comment thread tools/pipelines/vscode-typescript-publish.yml Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Tag validation must reject leading-zero SemVer components before creating permanent release tags.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details
  • Files reviewed: 10/11 changed files
  • Comments generated: 1
  • Review effort level: Balanced

exit 0
fi

if ! [[ "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Author: Team For Milestone Bug PRs that fix a bug with a specific milestone

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Decouple extension publishing from TS compiler

2 participants