Github Actions 自动合并未按预期工作

Posted

技术标签:

【中文标题】Github Actions 自动合并未按预期工作【英文标题】:Github Actions automerge not working as expected 【发布时间】:2021-06-30 07:12:41 【问题描述】:

我有一个包含 5 个作业的 yml 文件,如下所示

    构建 - 工作 单元测试 - 工作 回归测试 - 工作 创建拉取请求 - 工作 合并拉取请求 - 不起作用

前 3 个作业在我的开发分支上工作,所以我的文件以

开头
name: Spicethedeploy
on:
  push:
    branches: 
    - development
    
jobs:

工作 4 我指定这个

source_branch: "development"                      
destination_branch: "master"       

但是当作业 5 运行时,它会寻找一个非主开发的拉取请求并且没有完成。这份工作的代码是:

  automerge:
    needs: pull-request
    runs-on: ubuntu-latest
    steps:
    - name: automerge
      uses: pascalgn/automerge-action@v0.13.1
      env:
        GITHUB_TOKEN: $ secrets.ghp_xxxxxxxxxxxxxxxxxxxx         

谁能告诉我如何让这个工作看起来像是 master 分支?

我创建了第二个名为 automerge.yml 的 yml 文件,内容如下

name: automerge
on:
  pull_request:
    branches: 
    - master
    
jobs:
  automerge:
    runs-on: ubuntu-latest
    steps:
    - name: automerge
      uses: pascalgn/automerge-action@v0.13.1
      env:
        GITHUB_TOKEN: $ secrets.ghp_xxxxxxxxxxxxxxxxxxxxxxxx         
        MERGE_LABELS: "automerge"

拉取请求也已从第一个 yml 文件中删除,该文件现在在创建拉取请求后停止。然后新的 yml 文件启动并尝试合并,但会跳过此消息

Run pascalgn/automerge-action@v0.13.1
2021-04-04T18:36:14.889Z INFO  Event name: pull_request
2021-04-04T18:36:15.102Z INFO  Skipping PR update, required label missing: automerge
2021-04-04T18:36:15.102Z INFO  Skipping PR merge, required label missing: automerge

【问题讨论】:

为什么不按照该操作的文档的建议使用 GitHub 的 own functionality? @Kev,你能分享整个工作流程的 YAML 文件吗?这样我们就可以尝试重现错误以找出问题所在。 是否可以选择专门为job 5 创建另一个工作流?此工作流将在 PULL_REQUEST 上触发到 master 分支,如果它来自 development 分支,则会自动合并。 嗨@jonrsharpe,调查了一下,因为我正在免费订阅选项被禁用。 在问题中包含该研究和背景很有用。 【参考方案1】:

感谢 GuiFalourd 的提示,为我指明了正确的方向。听从他的建议,我找到了这个效果很好的解决方案

 merge:
    needs: pull-request
    name: merge
    runs-on: ubuntu-latest
    steps:
    - name: checkout
      uses: actions/checkout@v2
    - name: merge
      uses: mtanzi/action-automerge@v1
      id: merge
      with:
        github_token: $ secrets.ghp_xxxxxxxxxxxxxxxxxxxxxxxxx 
        source: 'development'
        target: 'master'    

【讨论】:

以上是关于Github Actions 自动合并未按预期工作的主要内容,如果未能解决你的问题,请参考以下文章

自动布局约束未按预期工作

自动填充在 Excel 中未按预期工作

带有自动布局的 uiscrollview 的动态内容未按预期工作

AWK 命令在 AIX 上未按预期工作

使用 discordJDA 等待消息未按预期工作

级联参数未按预期工作