发布流程
概览
RAPIDS 主要和次要版本发布流程摘要。
目标受众
项目负责人
运维团队
另请参阅
Git 分支模型
RAPIDS 使用定制的 Git 分支模型,该模型由 git-flow 演变而来,旨在利用 GitHub 提供的工具并专注于发布驱动的开发。有关更多详细信息,请参阅我们的Git 分支方法指南。
项目迁移
对于使用其他分支/开发模型的 RAPIDS 项目,请继续使用该方法开发,直到下一个次要版本发布。给定版本 M.A.0
(其中 M
是主版本,A
是次要版本),从包含最新次要版本的 main
分支创建开发分支 branch-M.B
,其中 B=A+1
。
从此刻起,您可以遵循 RAPIDS 团队使用的 Git 分支和发布模型。
主要和次要版本发布
主要和次要版本发布都遵循相同的步骤,差异很小。对于这两种发布类型,有三个关键日期需要提前确定:
燃尽日期
代码冻结日期
发布日期
燃尽日期
总是比 代码冻结日期
早几天,而 代码冻结日期
又比 发布日期
早几天。这是为了确保有足够的时间完成活跃开发,并处理任何未知的 bug/问题。
热修复
热修复有其独立的流程,并此处进行了描述。
燃尽
燃尽是将所有计划在当前版本中解决的问题锁定,并将不在此版本中的问题移至下一版本的过程。此外,所有待处理的拉取请求都应在代码冻结日期前得到评审并力争合并。
时机
选择 燃尽日期
应遵循以下一般指南:
- 选择的
燃尽日期
应至少比代码冻结日期提前 3 个工作日
- 咨询项目负责人,确保关键功能能在预期日期纳入发布版本
- 立即将决定的
燃尽日期
传达给开发团队,确保他们能按时完成
燃尽过程在流程最后一天太平洋时间 (PT) 下午 11:59 结束。
流程
注意:以下流程使用当前发布版本 M.A
、下一发布版本 M.B
和未来发布版本 M.C
(其中 B=A+1
,C=B+1
)作为示例。
项目负责人
- 在
燃尽日期
开始时,提醒开发团队停止接受针对M.B
发布版本的新问题(除非是关键 bug/问题) - 努力合并针对
M.B
的现有拉取请求 - 将不再属于
M.B
发布版本的拉取请求或问题移至M.C
项目看板或待办事项列表(对于待办事项列表,将问题从项目看板移除)
运维团队
- 在
燃尽日期
开始时,宣布branch-M.B
的燃尽开始 - 将
branch-M.B
分叉到branch-M.C
作为新的开发分支 - 创建发布版本
M.C
的项目看板 - 通知项目负责人流程已完成
另请参阅燃尽指南
代码冻结
代码冻结是发布版本进行彻底测试的过程。拉取请求不再被接受到开发分支中。对于热修复问题可能会有例外。燃尽阶段的所有拉取请求应在代码冻结开始前合并,或移至下一发布版本。
时机
选择 代码冻结日期
应遵循以下一般指南:
- 选择的
代码冻结日期
应至少比发布日期提前 3 个工作日
- 立即将决定的
代码冻结日期
传达给开发团队,确保他们能按时完成
代码冻结在燃尽结束后的第二天太平洋时间 (PT) 凌晨 12:00 开始。
例如,如果燃尽从 2 月 3 日星期三持续到 2 月 9 日星期二,那么燃尽在 2 月 9 日太平洋时间 (PT) 下午 11:59 结束,代码冻结在 2 月 10 日太平洋时间 (PT) 凌晨 12:00 开始。
流程
注意:以下流程使用当前发布版本 M.A
、下一发布版本 M.B
和未来发布版本 M.C
(其中 B=A+1
,C=B+1
)作为示例。
通常,代码冻结流程在代码冻结第一天太平洋时间 (PT) 上午 10:00 左右进行。
项目负责人
- 在 cuDF 燃尽前至少两周通知运维团队任何新的发布制品(包、wheel、容器)
- 将任何针对
branch-M.B
的开放拉取请求改为针对branch-M.C
- 等待运维团队确认分支切换
- 继续进行
M.C
的开发 - 如果发现
M.B
发布版本有任何问题,及时响应运维团队
运维团队
- 在
代码冻结日期
开始时,宣布branch-M.B
的代码冻结开始 - 将项目的 GitHub 默认分支切换到
branch-M.C
- 创建
M.B
发布版本跟踪项目看板 - 通知项目负责人流程已完成
发布
时机
选择 发布日期
应遵循以下一般指南:
- 选择的
发布日期
应至少比上一个发布日期晚 3-4 周
- 咨询项目负责人,确保关键功能能在预期日期纳入发布版本
- 立即将决定的
发布日期
传达给开发团队,确保他们能按时完成
流程
注意:以下流程使用当前发布版本 M.A
、下一发布版本 M.B
和未来发布版本 M.C
(其中 B=A+1
,C=B+1
)作为示例。
项目负责人
- 在
发布日期
开始时,与开发人员合作关闭所有未解决的问题和 PR - 协助运维团队测试和验证发布版本
M.B
PR 中的文档 - 评审发布版本
M.B
以进行批准 - 协助运维团队在发布后抽查交付物
运维团队
- 在
发布日期
开始时,宣布branch-M.B
的发布 - 从
branch-M.B
创建针对main
的发布 PR - 开始测试 conda、容器和 notebook 的正确性和功能性
- 与开发团队合作关闭未解决的 PR
- 评审文档,确保版本号和说明正确无误
- 邀请项目评审人员批准发布 PR
- 批准后合并发布 PR
- 监控自动化工具的流程
- 抽查交付物,确保正确性