用途:jackin-release 用于为 jackin 项目正式切出一个版本,是套件中唯一不可逆的技能。它编排 jackin-release-check(就绪门禁)与 jackin-release-notes(变更日志),再根据变更日志形态推荐版本号并执行发布。
主要能力:运行就绪门禁,门禁为红则停止并指出需修复项,出现警告时询问是否继续;生成并展示 [Unreleased] 变更日志,允许操作者重新分类或改写;根据已批准的变更日志推荐版本级别(含 Removed 或 breaking 条目为 major,含 Added 为 minor,仅 Fixed/Changed/Security/Deprecated 为 patch);提交变更日志;最终确认后执行 cargo release <level> --execute,完成版本号提升、变更日志标题改写、打标签与推送;最后用 git tag -l 与 git ls-remote 验证标签。
使用方式:仅在操作者要求切版本/发布时使用。前置条件包括已安装 cargo-release、gh 已认证、release.toml 配置了针对 CHANGELOG.md 的 pre-release-replacements、CHANGELOG.md 含 <!-- next-header --> 标记、存在 .github/workflows/ci.yml。流程为门禁、变更日志、推荐版本、提交变更日志、最终确认、执行发布、验证。执行 cargo release 前必须获得操作者明确的“yes”,不得凭假设发布。
适用场景:需要正式发布 jackin 版本时。若只是检查就绪状态,应使用 jackin-release-check;若只是更新变更日志,应使用 jackin-release-notes。
限制与注意:cargo release --execute 不可逆;红色门禁不得放行;不要手工编辑 [X.Y.Z] 版本标题,cargo-release 会通过 release.toml 重写,重复编辑会破坏发布提交。错误恢复方面,cargo release 之前可修复后重跑;执行期间需检查已提交或已打标签的内容,标签已建但未推送可执行 git push origin vX.Y.Z,有版本提交但无标签可重置后重试;发布完成后 CI 失败属于工作流问题,不是回滚。资料未提供收费、价格或平台信息。