用途:用于 NeMo Relay 项目的发布版本变更,包括预发布版本和构建元数据变体。核心不变量:Cargo.toml 中 [workspace.package].version 是 Rust 版本的唯一来源;just set-version <version> 是更新常规项目版本表面的唯一仓库入口,不要手工编辑其现有目标;每个参与统一发布的新包或插件及其项目版本依赖和锁文件条目都必须被版本自动化覆盖,若某值不能自动派生,应在引入它的同一次变更中更新自动化;Python 表面按需使用 PEP 440 转换,Cargo、npm 和插件清单使用仓库 SemVer 形式。工作流:先从 Cargo.toml 读取当前版本并确定精确目标;对比项目自有包/工作区成员和插件清单与 set_project_version 调用的辅助函数,特别关注近期或范围内的新增项,新清单、可发布包、固定到项目版本的内部依赖或锁文件包条目都提示 just set-version 可能需要修改;运行 just set-version <version>;审查差异,然后在受跟踪的 Cargo、Python、npm、锁文件和插件清单中搜索精确旧版本,对匹配项分类而非盲目替换,第三方固定版本和示例可能合法匹配;若项目自有发布表面仍停留在旧版本,更新相应辅助函数并重新运行 just set-version <version>;仅当版本拓扑或辅助函数实现变化时才阅读 references/version-automation.md;仅当带版本的输入变化时才刷新锁文件或归属文件,纯元数据升级不要运行语言测试套件。验证:确认每个项目自有清单版本和内部依赖解析到目标 SemVer 或其预期的 PEP 440 转换,且无关版本未变;自动化变化后重新运行 just set-version <version>,应幂等且不报告缺失的预期字段;对编辑过的辅助代码使用聚焦检查,仅对受升级影响的表面做针对性打包或生成输出检查;打包配方产生的临时版本不是规范项目版本,除非发布工作流明确要求该确切后缀。参考资料:Cargo.toml、justfile、references/version-automation.md(仅用于添加、删除或调试带版本的表面或版本辅助函数)。
update-project-version
部署与运维
更新于 10-16 02:34