命令行
更新版本
把软件包版本、内部依赖要求、变更日志和已消费变更集作为一项发布操作进行校验和应用。
smif version 执行发布过程中会修改文件的部分。已经启用生成的 GitHub Actions 工作流时,同一次发布应使用 smif ci,不要再在本地运行这条命令。
smif version --dry-run
smif version规划与校验
命令会重新计算 smif status 展示的同一项版本决定,再让每个内置适配器或仓库插件生成确定性的清单修改。正常写入开始前,Semifold 会校验目标路径、预期文件哈希、修改冲突、变更日志模板、软件包身份和完整依赖图。
正常执行可能修改:
- 软件包版本和符合条件的内部依赖要求;
- 工作区共享版本来源;
- 软件包变更日志;
- 一次性的
channel-bump配置; - 已经消费的变更集文件;
- 配置的版本修改后命令(
post-version)。
工作区保护
命令默认拒绝不干净的 Git 工作区。--allow-dirty 表示现有差异有意参与这次操作,不代表无关修改已经变得安全。
预演
--dry-run 会准备并校验发布,但不执行正常的文件写入。配置明确设置 dry-run = true 的版本修改后命令仍然会运行,因此这种命令必须可以安全重复执行。
失败与恢复
规划或校验失败时,软件包文件和变更集保持不变。如果已经应用文件修改后某个版本修改后命令失败,Semifold 会保留这些修改和变更集,并报告失败命令与恢复事实。请检查 Git diff、修复钩子后重试,不要手工删除变更集。
成功后,在把生成内容提交到配置的发布分支之前,仍应运行测试并审查完整差异。