Skip to content

chore(release): harden version SSOT and npm visibility - #252

Merged
Windsander merged 3 commits into
mainfrom
chore/release-hardening
Oct 25, 2026
Merged

Windsander merged 3 commits into
mainfrom
chore/release-hardening

Conversation

@Windsander

Copy link
Copy Markdown
Owner

目的

把 v0.1.0 / v0.1.1 发布过程中依赖人工记忆的步骤机械化,并明确单版本 umbrella。

改动

  • 新增 npm 可见性 gate:publish + publish-dsh 后轮询六包 version / dist-tags.latest,全可见才创建 GitHub Release。
  • 新增 verify:release-version:六 package manifest、两个 lockfile、desktop APP_VERSION、MCP 单一版本源、CHANGELOG 统一校验。
  • bump-version.sh 覆盖六包、lockfile、desktop、MCP 版本源和 CHANGELOG;packages/mcp/src/version.mjs 成为 MCP 唯一版本源。
  • publish.yml 的 verify 直接调用同一版本 SSOT 脚本。
  • release SOP:固定 release-prep/vX.Y.Z → dry-run → release/vX.Y.Z → visibility → GitHub Release → back-merge → 分支清理。
  • 新增 branches:merged dry-run 清理工具;默认只列出,不自动删除。
  • 文档统一为单版本 umbrella:五个 lockstep 包 + @mebular/dsh-plugin + 桌面 App 同版本;DSH 保持独立 adapter 代码和独立 npm job,但不单独发版。

验证

  • npm run build
  • npm run lint
  • npm run check:docs 7/7
  • npm run check:i18n 32/0
  • npm run check:cleanliness
  • npm run check:deps 4/4
  • npm run verify:release-version 34 checks
  • npm run verify:release-visibility -- --version 0.1.1 --dsh-version 0.1.1 6/6(真实 registry)
  • npm run verify:dsh-plugin 129 checks
  • npm run verify:mcp:publish
  • tests/release 14/14
  • 全量测试 1766/1767;唯一失败为既有 tests/p2p/connection-dial-policy.test.ts 时序 flake,单独重跑 9/9 通过;最终以 CI 为准。

范围

  • 不 bump 版本,不 publish,不创建 Release。
  • 不修改 DSH bridge 业务代码。
  • 分支清理脚本未删除任何分支。

- bump-version handles six packages, both locks, desktop APP_VERSION and the single MCP version source
- verify:release-version checks the same SSOT locally and in publish.yml
- add post-publish npm visibility gate before GitHub Release
- document release-prep -> dry-run -> release -> back-merge flow and safe branch cleanup
- make dsh-plugin / MCP release checks version-agnostic; add fixture tests
@Windsander
Windsander merged commit 5e55a09 into main Oct 25, 2026
5 checks 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