Skip to content

ci(release): publish to Open VSX from the release workflow - #1

Merged
kanad13 merged 1 commit into
mainfrom
ci/open-vsx-release
Oct 25, 2026
Merged

kanad13 merged 1 commit into
mainfrom
ci/open-vsx-release

Conversation

@kanad13

@kanad13 kanad13 commented Oct 25, 2026

Copy link
Copy Markdown
Owner

Adds Open VSX publishing to a tag-triggered release workflow that is identical across the extension repos (OIDC trusted publishing, with the OVSX_PAT secret as fallback), moves vsce to ^4.0.0, and updates the release docs.

🤖 Generated with Claude Code

Problem
- Releases stopped at a GitHub Release, or had no workflow at all; Open VSX was published by hand with a local token.
- Release and CI workflows differed across the five extension repos.
- vsce 4 and ovsx 1.3 require Node 22.

Solution
- release.yml runs on a vX.Y.Z tag, validates tag, package.json and CHANGELOG, tests, packages, creates the GitHub Release, publishes to Open VSX, and confirms the version is live.
- workflow_dispatch with a tag input republishes an existing tag from main.
- ci.yml and release.yml match the other extension repos apart from the NODE_VERSION line. Release docs describe the new flow.
- @vscode/vsce moves to ^4.0.0 and ovsx ^1.3.0 is added as a devDependency.

Decisions
- ovsx uses the OVSX_PAT secret when set and falls back to OIDC trusted publishing when it is empty, so removing the secret needs no workflow change.
- --skip-duplicate makes a retry safe.
- npm audit stays in CI only, so an unrelated advisory cannot block a publish.

Implementation
- .github/workflows/{ci,release}.yml, package.json, package-lock.json, docs/development.md, docs/workflows.md, and repository ignore files where needed.

Notes
- Marketplace publishing stays manual.
- Remove the OVSX_PAT secret after the first OIDC release.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@kanad13
kanad13 merged commit 8f3312b into main Oct 25, 2026
1 check passed
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