Repository navigation
chore: release pipeline and independent versioning - #1
Merged
Merged
Conversation
The extension is versioned on its own line: `hvolt` numbers its releases after the SDK it targets (`26.0.0-0`), while this package is bound to the VS Code API it compiles against and to the LSP protocol it speaks. Sharing a number would promise a compatibility neither side can keep and would hold a UI fix until an SDK release. Compatibility is declared instead: `engines.vscode`, plus "requires hvolt 26.0.0 or newer" in the README and RELEASING.md — the first release with `hvolt lsp --stdio`. - `.github/workflows/ci.yml`: typecheck, build, tests on every pull request, and `vsce ls` so the manifest is checked before a release rather than at one. - `.github/workflows/release.yml`: tag `v*` → verify the tag equals `package.json`'s version, package the `.vsix`, attach it to the GitHub release, and publish to the Marketplace only when a `VSCE_PAT` secret exists. `workflow_dispatch` stops before publishing by default. - `RELEASING.md`, `CHANGELOG.md`; `package.json` gains `test` and `package` scripts. - `test/manifest.test.mjs`: the command-collision check reads the server source only when `HVOLT_REPO` points at a checkout; otherwise it verifies against a snapshot of the commands the server advertised, because the server does not live in this repository. - `.vscodeignore`: keep `.github/`, `.gitignore` and `RELEASING.md` out of the package (measured with `vsce ls`: 7 files, `dist/extension.js` included).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
内容
发布流水线与版本策略,扩展独立版本号,不与 hvolt 对齐。
为什么独立
hvolt按目标 SDK 编号(26.0.0-0,见其 RELEASING.md);本扩展绑定的是 VS Code API(engines.vscode ^1.85.0)与它讲的 LSP 协议。共用一套号会暗示一个双方都保证不了的兼容性,而且会让一个纯 UI 修复必须等 SDK 发版才能出。兼容性用声明而不是版本号
engines.vscode:宿主最低版本hvolt lsp --stdio的版本)流水线
ci.yml:每个 PR 跑tsc --noEmit、node build.mjs、node --test test/,并用vsce ls检查清单release.yml:推v*tag → 校验 tag 与package.json版本一致 → 打.vsix→ 挂到 GitHub Release → 仅在存在VSCE_PATsecret 时发布到 Marketplace;workflow_dispatch默认dry_run=true,不发布其他
RELEASING.md、CHANGELOG.md;package.json增加test、package脚本test/manifest.test.mjs的命令冲突检查:服务器不在本仓库,因此默认对快照校验,设置HVOLT_REPO指向 hvolt 检出时改为核对真实源码.vscodeignore排除.github/、.gitignore、RELEASING.md本地读数
合并方式
squash(仓库规则)。合并后打
v0.1.0即产生第一个 release。