最近更新 检查

概述

一个 GitHub Action,用于检查拉取请求是否与源仓库的最新更改保持同步。

目标受众

社区

开发者

项目负责人

运维

摘要

GitHub Actions 配置为在拉取请求的 HEAD 提交上运行测试(例如,不是拉取请求的合并提交,合并提交是把拉取请求合并到目标分支的结果)。

因此,如果拉取请求与源仓库的最新更改不同步,即使 CI 测试通过,也有可能引入破坏性更改。

GitHub 确实提供了一种在合并前确保拉取请求完全同步的方式,但对于像 cudf 这样提交量大的仓库,这将显著增加合并拉取请求所需的时间。

作为折衷,引入了 最近更新 检查,以确保拉取请求与相应的源仓库“合理地”保持同步。

这种方法不能保证不会引入破坏性更改,但有助于提供一些保证,确保拉取请求不会严重过时(类似于测试合并提交的方式)。

额外的测试信心来自于 RAPIDS 的夜间测试,它测试每个开发分支的 HEAD 提交。

最近更新 检查可以通过编辑 .github/ops-bot.yaml 文件中的以下值进行配置

# enables/disables the Recently Updated Check
recently_updated: true

# sets the threshold for how many commits behind the pull request must be to trigger a failure.
# defaults to 5 if not set
recently_updated_threshold: 5

注意,由于 RAPIDS 对拉取请求使用 squash commits,因此 recently_updated_threshold 值实际上意味着“自当前拉取请求上次更新以来,已有多少个拉取请求合并到源仓库中”。