本文档详细介绍了 Apollo-11 仓库中实现的拉取请求(PR)管理系统。它涵盖了自动化标签流程、PR 工作流以及 PR 处理的最佳实践。本文档专门关注用于跟踪、标记和处理代码库贡献的技术机制。有关贡献指南和标准的信息,请参阅贡献到仓库和格式标准。
Apollo-11 仓库采用自动化标签系统,根据修改的文件类型对拉取请求进行分类。该系统有助于维护者快速识别贡献的性质并适当优先安排审查。
该仓库使用一个包含两种主要标签类型的分类系统
| 标签 | 应用于 | 目的 |
|---|---|---|
类型:Proof | 任何 .agc 文件 | 识别对原始 AGC 汇编代码文件的更改 |
类型:Meta | MAIN.agc 文件和任何 .md 文件 | 识别对文档或主程序结构文件的更改 |
这些标签在标签器配置文件中定义。
拉取请求通过计划的 GitHub Actions 工作流自动添加标签
此工作流每 3 小时运行一次,检查所有开放的拉取请求,并根据配置文件中定义的文件模式应用标签。
来源:.github/workflows/label.yml1-14
下图说明了拉取请求在 Apollo-11 仓库中的完整生命周期
来源:.github/workflows/label.yml1-14 .github/labeler.yml1-6
在审查过程中,仓库对不同类型的文件采用不同程度的审查力度
拉取请求根据特定标准进行评估,这些标准与仓库高保真度保留原始阿波罗11号代码的目标一致
自动化 PR 标签系统是使用 GitHub Actions 和一个定期标签器实现的。该系统的核心组件是
标签配置文件:位于 .github/labeler.yml,此文件定义了文件模式和标签名称之间的映射关系。
标签工作流:位于 .github/workflows/label.yml,此 GitHub Actions 工作流文件配置了定期标签流程。
该工作流配置为每 3 小时运行一次(由 cron 表达式 0 */3 * * * 定义),并根据配置文件中定义的模式,将标签应用于所有开放的拉取请求。
来源:.github/workflows/label.yml1-14 .github/labeler.yml1-6
PR 管理系统与其他仓库维护系统交互
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(2cbe82)