本文档概述了 bat 项目的完整发布流程,包括版本更新、变更日志管理、资源构建和部署程序。它为维护者提供了一份全面的清单,以确保发布的一致性和可靠性。
有关构建系统和 CI/CD 流水线的信息,请参阅 构建系统和 CI/CD。
bat 的发布流程遵循一个结构化的工作流程,以确保质量、一致性和对更改的正确记录。该流程可按如下方式可视化:
来源: doc/release-checklist.md1-85
在创建新版本之前,必须在多个地方更新版本号:
Cargo.toml 中的版本号,并运行 cargo build 以更新 Cargo.lock。README.md 和本地化 README 文件中的版本号和 MSRV 引用。来源: doc/release-checklist.md3-12
必须更新 CHANGELOG 以反映自上次发布以来的所有更改。
来源: doc/release-checklist.md13-22
在每次发布前都必须重建语法定义和主题。
bat 主分支版本。来源: doc/release-checklist.md23-29
所有面向用户的文档都必须经过准确性审查。
-h)。--help)。来源: doc/release-checklist.md30-35
在继续发布之前,必须执行几项检查。
cargo publish --dry-run 以确保发布能成功。来源: doc/release-checklist.md36-45
实际发布过程包括:
vX.Y.Z)。来源: doc/release-checklist.md46-60
发布成功后
来源: doc/release-checklist.md61-84
发布流程会生成多个构件,这些构件通过不同的渠道进行分发。
| 工件类型 | 分发渠道 | 创建方法 |
|---|---|---|
| 源代码 | GitHub 发布 | Git 标签 |
| 二进制归档 | GitHub 发布 | CI 部署 |
| Debian 包 | GitHub 发布 | CI 部署 |
| Crate | crates.io | 手动 cargo publish |
来源: doc/release-checklist.md46-60
下图将发布流程映射到特定的代码实体和文件。
来源: doc/release-checklist.md1-85
资源构建过程是发布工作流的关键部分。
来源: doc/release-checklist.md23-29
依赖项通过 Dependabot PR 定期更新,如果 CI 通过,这些 PR 会被自动合并。这些更新通常不会手动添加到 CHANGELOG 中,但在发布过程中应进行审查。
来源: doc/release-checklist.md15-20
MSRV 作为发布流程的一部分进行跟踪和更新。在所有相关文档中检查和更新此版本非常重要。
来源: doc/release-checklist.md7-11
CI 流水线在发布流程中起着至关重要的作用。
来源: doc/release-checklist.md38-39 doc/release-checklist.md48-57