2

当我创建 PR 时,GitHub CI(通过actions/checkout操作)检查 PR 分支的负责人。例如,如果 PR 分支的负责人有 SHA cc87b2733dfbe579a4451b2359191a6c512207c3,我会在 GitHub CI 日志中看到:

git checkout --progress --force cc87b2733dfbe579a4451b2359191a6c512207c3

而其他 CI 系统检查 PR 的测试合并。例如,如果 PR 编号是 123,在 Travis CI 日志中我看到:

git fetch origin +refs/pull/123/merge
git checkout -qf FETCH_HEAD

在 Appveyor 日志中,我看到:

git fetch -q origin +refs/pull/123/merge
git checkout -qf FETCH_HEAD

有没有办法让 GitHub CI 构建 PR 的测试合并,而不是 PR 分支的负责人?

4

1 回答 1

-1

根据https://github.com/actions/checkout/issues/15

GitHub 文档具有误导性:

如果您打算使用该pull_request事件来触发 CI 测试,我们建议您设置工作流配置以侦听该push事件。

我发现以下内容完全符合我的要求:

on:
  push:
  - master
  - release-*
  pull_request:

我担心我会使用该事件触发太多构建pull_request,因为根据文档

当拉取请求被分配、未分配、标记、未标记、打开、编辑、关闭、重新打开、同步、ready_for_review、锁定、解锁或请求或删除拉取请求审查时触发。

但似乎 GH 操作足够聪明,不会触发已经构建的提交的重建。

于 2019-08-23T07:43:56.920 回答