当拉取请求由另一个工作流操作创建并且存在冲突时,Github 操作工作流不会在拉取请求上运行

Eri*_*ick 8 github-actions

我有 2 个工作流程文件。一个是test.xml,另一个是merge.xml

test.xml 运行 php 单元测试,如果测试成功,它将创建一个到 staging 分支的拉取请求(test.xml 在功能分支中运行)。

奇怪的是,如果拉取请求有冲突,merge.xml 工作流程将不会触发。但是当拉取请求没有任何冲突时,它将运行并合并拉取请求。我的 xml 配置错误吗?

这是 xml。

测试.xml

name: Test
on:
  push:
    branches-ignore:
      - staging
jobs:
  run-test:
    runs-on: self-hosted
    steps:
       - name: run test
  pullrequest-to-staging:
    needs: [run-test]
    runs-on: self-hosted
    steps:
      - name: Checkout current branch
        uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: Create Pull Request to staging
        uses: repo-sync/pull-request@v2
        with:
          github_token: ${{ secrets.BOT_TOKEN }}
          pr_title: "Pulling ${{ steps.branch_name.outputs.branch }} into staging"
          pr_body: ":crown: *An automated PR*"
          destination_branch: "staging"
          pr_label: "automerge"
Run Code Online (Sandbox Code Playgroud)

合并.xml

name: merge-to-staging
on:
  pull_request:
    branches:
      - staging
jobs:
  merge-to-staging:
    runs-on: self-hosted
    steps:
      - name: Label merge conflicts
        uses: eps1lon/actions-label-merge-conflict@v2.0.0
        with:
          repoToken: "${{ secrets.BOT_TOKEN }}"
          dirtyLabel: "conflicts"
          continueOnMissingPermissions: true
      - name: Merge to staging
        uses: pascalgn/automerge-action@v0.12.0
        env:
          GITHUB_TOKEN: "${{ secrets.BOT_TOKEN }}"
Run Code Online (Sandbox Code Playgroud)

joh*_*ngo 23

不幸的是,如果拉取请求存在合并冲突,则应触发的操作pull_request将不会运行。这是 GitHub Actions 的限制,如下所述: https: //github.community/t/run-actions-on-pull-requests-with-merge-conflicts/17104/2