Github actions Pull请求触发push工作流

Github actions Pull请求触发push工作流,github-actions,Github Actions,在GitHub存储库中,我有两个独立的GitHub操作工作流: github/workflows/pr.yml只需构建和测试 name: Pull request workflow on: pull_request 和github/workflows/push.yml来构建、测试和部署 name: Push workflow on: push 创建拉取请求会触发这两个工作流 无法将这些分支或我缺少的内容分开吗?如果您仅部署某些分支,请按以下方式限制推送工作流: name:推送工作流 关于

在GitHub存储库中,我有两个独立的GitHub操作工作流:

github/workflows/pr.yml
只需构建和测试

name: Pull request workflow

on: pull_request
github/workflows/push.yml
来构建、测试和部署

name: Push workflow

on: push
创建拉取请求会触发这两个工作流


无法将这些分支或我缺少的内容分开吗?

如果您仅部署某些分支,请按以下方式限制
推送工作流:

name:推送工作流
关于:
推送:
分支机构:
-主人
另一个选项是排除分支

关于:
推送:
#与参考/头部匹配的图案序列
分支忽略:
#将事件推送到匹配refs/heads/mona/octocat的分支
-“蒙娜/章鱼猫”
#将事件推送到与REF/heads/releases/beta/3-alpha匹配的分支
-“发布/**-alpha”

有关更多示例,请参见,您可能还需要在PR中定义触发器的类型。

示例代码:

on:
  pull_request:
    types:
      - closed
    branches:
      - master

我希望这会有所帮助。

您可以在工作中使用这些行,以避免内部拉式请求(也会触发推式请求)触发您的工作流,同时允许外部拉式请求触发您的工作流

    # a push event from the origin repo, or a PR from external repo
    if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name != 'your/full_repo_name' }}
参考:

  • github pull_请求事件负载:

您的拉取请求是来自fork还是来自您自己的存储库?您只希望触发PR的
拉请求工作流
,而不是
推送工作流
?@riQQ我正在使用来自同一回购协议的PR进行测试(只是一个单独的分支),是的,我的答案解决了您的问题吗?
分支忽略补丁-***
或类似的东西可能会更好…取决于分支模型,但在某些情况下可能更好