当与基础分支发生冲突时,是否有正确的方法来运行 GitHub Action pull_request 事件?

问题描述 投票:0回答:1

有一个关于 GitHub Actions 的未答复的 GitHub 社区讨论,当与 PR 中设置的基本分支发生冲突时,不会触发事件。 GitHub Actions 团队已经 5 年多没有针对这个问题提出真正的解决方案了。

我有 GitHub Action,它可以创建 Docker 映像并将其推送到 ECR 存储库。
这是问题发生时的场景:

pull_request

提交 
I--J <-- feature/first_branch (HEAD) / ...--F--G--H--Z <-- master

J
存在冲突,现在我的 GitHub Action 中的
Z
事件不会被触发,因为存在冲突。
我知道 

pull_request

事件没有这个问题,但我必须使用

push
事件,因为我需要知道当前分支的基本分支是什么,因为我
pull_request
基本分支的
cache-from
图像。
我有一个适合我的 hack - 我创建了另一个基于 

latest

的分支 (

feature/second_branch
)。然后我做了一个没有意义的随机提交,所以
feature/first_branch
feature/second_branch
之间会有差异(因为当你比较的两个分支之间没有差异时,GitHub 不允许打开 PR)。
feature/first_branch

一旦我打开一个 PR,其中 
K--M <-- feature/second_branch (HEAD) / I--J <-- feature/first_branch / ...--F--G--H--Z <-- master

是基础 - 我设法触发

feature/first_branch
事件,该事件有一个包含我想要的代码的分支,并且与其基础分支不冲突。 这样它们之间就不存在冲突,并且我得到了我的 Docker 镜像。
这个 hack 的问题是,当 

pull_request

没有

feature/first_branch
图像推送到 ECR 时,我没有图像可以缓存(这基本上类似于首先触发
latest
事件)。
此问题不会发生在 CircleCI 流上,但我目前无法从 GitHub Actions 迁移此流。

有没有一种方法可以在不使用任何 hack 的情况下解决这个问题,或者至少比我的更简单?

git github github-actions
1个回答
-2
投票

© www.soinside.com 2019 - 2024. All rights reserved.