Semifold
命令行

发布状态

在不修改软件包文件、变更日志和变更集的情况下,计算整座仓库的版本决定。

smif status 是变更集与版本修改之间的只读检查点。

smif status

它会计算什么

Semifold 把已配置软件包加载成一张依赖图,合并请求的版本提升级别,应用发布通道与依赖传播规则,并展示:

  • 每个受影响软件包的当前版本和目标版本;
  • .changes/add-api.md 这样的直接原因;
  • 因依赖或共享版本传播而加入的软件包;
  • 警告和一段确定性的 12 位计划指纹。

相同仓库输入下,smif version 会重新计算同一项版本决定。status 不持久化计划,也不会修改清单、变更日志、配置或变更集。

拉取请求评论

smif status --comment

--comment 把状态报告写成 GitHub 拉取请求评论,只能在预期的持续集成环境使用。smif init 生成的状态工作流会调用这条路径。

启用全局 --dry-run 后,Semifold 可以收集并渲染评论预览所需的只读事实,但绝不会创建或更新 Pull Request 评论。

如果 GitHub 拒绝创建或更新评论,发布计划仍然有效,status 也会成功完成。警告会展示失败的操作、GitHub API 状态与消息、GitHub 返回的文档链接,并为 403 Forbidden 响应提供权限检查提示。

如果软件包、目标版本或原因错误,应修改变更集或依赖配置,不要手工改软件包版本来掩盖问题。

GitHub 错误诊断

GitHub 操作失败时会显示失败操作、HTTP 状态、API 消息,以及可用的校验详情和文档链接。客户端错误保留底层错误链。这些信息无需开启 --debug,GitHub token 会被遮蔽。403 会按操作提供权限检查提示,但不会将原因一律断定为权限不足。

评论和变更文件查询(包括分页)失败时会显示详细原因。创建或更新评论失败仍为警告,不影响已经生成的发布计划。

本页内容