【发布时间】:2020-05-24 16:54:25
【问题描述】:
用“BDD”术语来说:
背景:
鉴于我正在为 GH 回购做出贡献当我创建拉取请求时
然后 Travis 应该构建最新的提交当我推送到现有的拉取请求时
然后 Travis 应该构建最新的提交当我将拉取请求合并到 master
那么 Travis 应该构建 master
我对 Travis-CI 的“构建推送”和“构建 PRs”设置感到困惑,因为:
- 同时启用这两种方法会导致每个拉取请求由 Travis 构建两次
- 在该分支上提交一次
- 再次将该分支合并提交到其目标
- 仅启用“构建 PR”会导致构建 PR,但不会导致合并后构建(即在主服务器上)。
- 启用“推送”蛮力通过构建 所有 推送到存储库来满足上述标准。您可以尝试通过将分支列入白名单和黑名单来解决问题,但除非您对分支名称严格遵守纪律,否则这可能会咬到您。
这在Travis-CI docs 和GH issue #3241 中有更多解释。
有人知道满足上述条件的配置吗?
【问题讨论】:
-
分支构建和 PR 构建是不同的构建,可以有不同的结果。分支构建只是分支的尖端。 PR 构建是合并到 master 的分支的尖端。如果您在那时将分支合并到主控,这实际上会发生。如果分支打开后其他东西已经被合并到master,所以无法进行快进合并,这将与分支构建不同。
标签: github travis-ci pull-request