发布版本管理
服务端版本注入
- 唯一事实来源:
apps/server/internal/version - 构建元数据由根目录
Makefile通过-ldflags注入 - 注入字段:
VersionCommitBuildTime
servify服务端 handler 与servify-cli version读取的是同一个包
SDK workspace 版本策略
sdk/package.json是 workspace 版本的事实来源- 可发布的包与 workspace 根版本完全一致:
@servify/core@servify/react@servify/vue@servify/vanilla
- 包间内部依赖钉定到完全相同的版本,而非宽松范围
@servify/api-client与@servify/app-core当前共享 workspace 版本(1.0.0),没有独立的发布入口:两者都未声明private,也没有任何发布流程以它们为目标(private: true由sdkworkspace 根以及sdk/packages/transport-http和sdk/packages/transport-websocket设置)- 使用:
npm -C sdk run version:syncnpm -C sdk run version:check
变更日志与发布流程
- 草稿变更日志的生成由
scripts/generate-changelog.sh提供 - 本地草稿文件生成由
make release-changelog提供 - 本地发布草稿输出默认为
./.runtime/release/RELEASE_CHANGELOG.md - 手动发布准备在
.github/workflows/release.yml中预留 - 当前发布 workflow 只准备元数据与产物,不自动发布包
RELEASE_CHANGELOG.md被视为发布产物,而非提交入库的生成资产