Skip to content

ci(OpenVSX): 重启双市场发布——publish job 增回 Open VSX 步骤 - #119

Merged
ThreeFish-AI merged 2 commits into
feature/1.x.xfrom
ThreeFish-AI/openvsx-publish-workflow
Sep 9, 2026
Merged

ci(OpenVSX): 重启双市场发布——publish job 增回 Open VSX 步骤#119
ThreeFish-AI merged 2 commits into
feature/1.x.xfrom
ThreeFish-AI/openvsx-publish-workflow

Conversation

@ThreeFish-AI

Copy link
Copy Markdown
Owner

概述

重启 Open VSX 发布渠道:publish job 增回 Open VSX 发布步骤,与既有 VS Code Marketplace(vsce)发布保持一致(同 job、同审批门、同门控模式、复用同一枚 VSIX)。README 安装渠道与调研文档决策链同步更新。

背景与决策沿革

变更内容

类别 内容
CI publish job 新增「发布到 Open VSX」步骤:pnpm exec ovsx publish --packagePath ./*.vsix,由仓库变量 ENABLE_OVSX_PUBLISH 门控(与 ENABLE_MARKETPLACE_PUBLISH 对称),OVSX_PAT 环境变量传凭证
依赖 devDependencies 增 ovsx@^1.1.1(pnpm exec 项目锁定版本,规避 pnpm 12 dlx 对未审批构建脚本的硬失败;其传递依赖 @vscode/vsce 的构建脚本已在 pnpm-workspace.yaml allowBuilds 审批,零新增审批)
文档 README Install 加回 Open VSX 渠道;调研文档追加 2026-09-10 决策更新(§2.3 单市场 → 双市场,保留完整沿革);docs 索引行与 CHANGELOG Unreleased 同步

关键设计要点(循证)

  1. 不传 --pre-release:ovsx 1.1.1 对「已打包 VSIX」会忽略该 flag 并告警——预发布语义已由 package job 的 vsce package --pre-release 内嵌进 VSIX 元数据;这与 vsce publish 的「两端 flag 成对」要求不同,已在步骤注释中说明;
  2. 对称门控:默认未设 = 步骤 skipped 不报错;激活仅需在仓库 Settings → Variables 添加 ENABLE_OVSX_PUBLISH=true,零代码恢复;
  3. continue-on-error:旧步骤该项是因当时凭证未配置必失败,现由门控变量承担该职责,失败应显式暴露(与 VSCE 步骤一致);
  4. 单一产物贯穿三渠道:同一枚 VSIX 贯穿 GitHub Release / Marketplace / Open VSX,零重复打包。

验证

  • pnpm install 成功;lockfile 仅增 ovsx 依赖树与 peer 键重写,零既有包版本变化(eslint 仍 10.9.1、vsce 仍 3.9.2);
  • pnpm exec ovsx --version → 1.1.1;
  • actionlint .github/workflows/ci.yml:新增步骤零提示(剩余 3 条为既有代码的 info 级 shellcheck 提示,未改动);
  • pnpm run check-types + pnpm run lint 通过;
  • ⏭ 真实链路:合入后打下一个 v* tag 验证 publish job 中 Open VSX 步骤发布成功。

激活清单(用户侧,合入后)

  1. open-vsx.org:确认 ThreeFish-AI namespace 已创建并完成 Namespace Access claim(独占发布权)——create-namespace 不自动授予独占权;
  2. GitHub 仓库 Settings → Secrets and variables → Actions:确认 Secrets 含 OVSX_PAT(已就绪);Variables 添加 ENABLE_OVSX_PUBLISH=true(激活开关)。

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com

- devDependencies 增 ovsx@^1.1.1(pnpm exec 项目锁定版本,传递依赖 @vscode/vsce 构建脚本已在 allowBuilds 审批);
- 与 vsce 同款模式:复用 package job 同一枚 VSIX、共享 production 审批门、OVSX_PAT 环境变量传凭证;
- 不传 --pre-release:ovsx 对已打包 VSIX 会忽略该 flag,预发布语义已内嵌于 vsce package --pre-release 的 VSIX 元数据。

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
- README Install 章节加回 Open VSX 渠道(覆盖 Cursor / Windsurf / VSCodium 等 Open VSX 系编辑器);
- 调研文档追加 2026-09-10 决策更新,§2.3 由「单市场」再次修订为「双市场」,保留完整决策沿革;
- docs 索引行与 CHANGELOG Unreleased 同步记录。

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
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