Skip to content

feat(build): add the ovsx CLI for Open VSX publishing - #109

Merged
jimisola merged 1 commit into
mainfrom
feat/add-ovsx-cli
Aug 23, 2026
Merged

feat(build): add the ovsx CLI for Open VSX publishing#109
jimisola merged 1 commit into
mainfrom
feat/add-ovsx-cli

Conversation

@jimisola

Copy link
Copy Markdown
Member

Companion to reqstool/.github#99; part of reqstool/.github#98.

Description

That PR replaces HaaLeo/publish-vscode-extension with the registries' own CLIs, invoked as npx --no-install. @vscode/vsce is already a devDependency here — scripts/build.mjs shells out to vsce package to build the VSIX — but ovsx was previously supplied by the action, so it has to become a real dependency.

Pinned exactly at 1.1.1 to match how @vscode/vsce@3.9.2 is pinned, so Renovate manages both from this lockfile rather than a version floating in the shared workflow.

Merge this before reqstool/.github#99--no-install means the first publish after that merges would fail outright if ovsx isn't here. That's deliberate: a clear failure beats silently pulling an unpinned CLI from the network into a job holding publish credentials.

Why the CLIs at all

Azure DevOps retires global PATs on 2026-12-01. The action declares pat as required with no Entra ID support, so it can't follow us onto the replacement. It also still declares node20 and hasn't had a commit since June 2025. Full detail in reqstool/.github#98.

Checklist

  • I have reviewed and followed the contributing guidelines.
  • I have run a local build and made sure all tests pass.
  • I have signed off the DCO (git commit -s).
  • I have read the Code of Conduct and agree to abide by it.

Test plan

Verified locally that both CLIs resolve under the exact invocation the workflow uses:

npx --no-install ovsx --version   -> 1.1.1
npx --no-install vsce --version   -> 3.9.2

npm audit is byte-identical before and after — same 4 pre-existing findings, all reached through mocha's serialize-javascript, none introduced by ovsx.

reqstool/.github#99 replaces HaaLeo/publish-vscode-extension with the
registries' own CLIs, invoked as `npx --no-install`. vsce is already here
-- scripts/build.mjs shells out to it -- but ovsx was supplied by the
action and has to become a real dependency.

Pinned exactly, like vsce, so Renovate manages both from this lockfile
rather than a version floating in the shared workflow. npm audit is
unchanged: same 4 pre-existing findings, all via mocha, none from ovsx.

Signed-off-by: Jimisola Laursen <jimisola@jimisola.com>
@jimisola
jimisola merged commit c0ec927 into main Aug 23, 2026
8 checks passed
@jimisola
jimisola deleted the feat/add-ovsx-cli branch August 23, 2026 22:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant