我有一个github操作,检查我的数据库迁移文件中的版本号是否不重叠(如果我们有迁移101_SomeThing,请确保我们也没有迁移101_SomeOtherThing)。
我对合并提交的请求请求执行了github动作,以查看master上是否已经存在一个会冲突的文件。但是,这仅在PR更新时运行...因此,如果合并了另一个PR,并且现有PR没有更新,它将显示已通过的检查以确认失败。
例如:
master
:/migrations/100_SomeStuff
feature/foo
:/migrations/101_foo
打开PR feature/bar
:/migrations/101_bar
打开PR feature/foo
已合并feature/bar
现在具有通过检查,应该会失败。如何响应第4步的事件触发在第5步重新运行的操作?
答案 0 :(得分:1)
并不是真正的github动作解决方案,但是如果您在分支保护中打开此标志:
Require branches to be up to date before merging
然后它将强制合并之前更新分支。因为foo
首先被合并,所以这意味着bar
落后于master,并且此检查将失败。
然后,开发人员将被迫将master
合并为bar
。
我假设您的工作流程文件已设置为在将新提交推送到PR时触发。在这种情况下,将合并提交(或如果重新设置基础,但开发人员希望对其进行处理)推到bar
时,它将重新启动工作流程并重新运行检查,从而使您的工作流程失败。>