Skip to content

feat: add vsx publishing#22

Merged
Arthurdw merged 2 commits intomainfrom
feat/open-vsx-publishing
Feb 17, 2026
Merged

feat: add vsx publishing#22
Arthurdw merged 2 commits intomainfrom
feat/open-vsx-publishing

Conversation

@Arthurdw
Copy link
Owner

@Arthurdw Arthurdw commented Feb 17, 2026

Closes #21

This was easier to implement than I thought :)

Also updated the deps lockfiles so that thats up to date aswell, will do a patch release for this.

Summary by CodeRabbit

  • Chores
    • Added automated publishing workflow to distribute the extension to the Open VSX Registry, providing users with an alternative installation source beyond the standard marketplace.

@Arthurdw Arthurdw self-assigned this Feb 17, 2026
@Arthurdw Arthurdw added enhancement New feature or request CI/CD labels Feb 17, 2026
@coderabbitai
Copy link

coderabbitai bot commented Feb 17, 2026

📝 Walkthrough

Walkthrough

The changes add Open VSX Registry publishing support to the extension's CI/CD pipeline. A new workflow secret authenticates publication, and a dedicated step publishes the extension using the ovsx CLI tool to reach VSCode fork users.

Changes

Cohort / File(s) Summary
Workflow Configuration
.github/workflows/vscode-publish.yml
Adds OVSX_PAT secret input and a new "Publish to Open VSX Registry" step that executes npx ovsx publish with authentication.
Dependencies
vscode-rovo/package.json
Adds ovsx devDependency (^0.10.9) for Open VSX publishing tooling.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~4 minutes

Poem

🐰 With whiskers twitched and joy so bright,
We've opened doors to forks' delight!
OpenVSX now joins the quest,
Cursor and Windsurf, truly blessed! 🎉

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat: add vsx publishing' clearly and concisely describes the main change of adding Open VSX publishing support to the workflow.
Linked Issues check ✅ Passed The PR implements Open VSX publishing support as required by issue #21, enabling the extension to be published to and consumed from the Open VSX registry for VSCode forks.
Out of Scope Changes check ✅ Passed All changes are directly related to implementing Open VSX publishing: workflow configuration, ovsx dependency, and publishing step. No unrelated modifications detected.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/open-vsx-publishing

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Arthurdw Arthurdw added release:minor Minor version bump release:patch Patch version bump and removed release:minor Minor version bump labels Feb 17, 2026
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
.github/workflows/vscode-publish.yml (1)

50-52: Optional: reuse the already-packaged .vsix instead of re-packaging.

ovsx publish without a file argument packages the extension in the current working directory using vsce and then publishes it, duplicating the work already done by npm run package. ovsx publish <file> publishes an already packaged file, so you can skip the second packaging pass.

♻️ Proposed refactor
-        run: npx ovsx publish
+        run: npx ovsx publish *.vsix
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/vscode-publish.yml around lines 50 - 52, The publish step
named "Publish to Open VSX Registry" currently runs "npx ovsx publish -p ${{
secrets.OVSX_PAT }}" which repackages the extension; change it to publish the
already-created .vsix instead by pointing ovsx to the packaged file (the .vsix
produced by your earlier "npm run package" step). Update the step's run command
to call ovsx publish with the .vsix filename or glob (e.g., the artifact name
produced by your packaging step) so it skips re-packaging and uses the existing
.vsix; ensure the file path or glob matches the output from the earlier
packaging step.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/vscode-publish.yml:
- Around line 50-52: The "Publish to Open VSX Registry" step currently
interpolates the secret into the run line; change the step to set the secret via
an env block (ENV name OVSX_PAT) and remove the -p flag so ovsx reads the token
from the environment automatically; keep the step name and working-directory
(vscode-rovo) the same and update the run to just "npx ovsx publish" to avoid
embedding the secret in the shell command.

In `@vscode-rovo/package.json`:
- Line 105: The package.json contains an invalid ovsx version ("ovsx":
"^0.10.9") that doesn't exist on npm; update the dependency entry for "ovsx" to
a published version (for example "^0.10.5" or "0.10.5") so the semver range is
satisfiable and CI installs succeed—edit the "ovsx" line in package.json
accordingly and run npm install to verify.

---

Nitpick comments:
In @.github/workflows/vscode-publish.yml:
- Around line 50-52: The publish step named "Publish to Open VSX Registry"
currently runs "npx ovsx publish -p ${{ secrets.OVSX_PAT }}" which repackages
the extension; change it to publish the already-created .vsix instead by
pointing ovsx to the packaged file (the .vsix produced by your earlier "npm run
package" step). Update the step's run command to call ovsx publish with the
.vsix filename or glob (e.g., the artifact name produced by your packaging step)
so it skips re-packaging and uses the existing .vsix; ensure the file path or
glob matches the output from the earlier packaging step.

@Arthurdw Arthurdw merged commit 37a3cf6 into main Feb 17, 2026
18 checks passed
@Arthurdw Arthurdw deleted the feat/open-vsx-publishing branch February 17, 2026 21:50
@codecov
Copy link

codecov bot commented Feb 17, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.42%. Comparing base (db2069c) to head (0577adb).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #22   +/-   ##
=======================================
  Coverage   92.42%   92.42%           
=======================================
  Files          17       17           
  Lines        5462     5462           
=======================================
  Hits         5048     5048           
  Misses        414      414           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CD enhancement New feature or request release:patch Patch version bump

Projects

None yet

Development

Successfully merging this pull request may close these issues.

OpenVSX support for extension for VSCode forks (Cursor, Windsurf, Antigravity)

1 participant