仅当 pr 目标为 master 时才运行 GitHub 操作

Posted

技术标签:

【中文标题】仅当 pr 目标为 master 时才运行 GitHub 操作【英文标题】:Only run GitHub actions if pr target is master 【发布时间】:2019-09-17 06:49:29 【问题描述】:

我试图找出一种方法,仅当 pr 打开到 master 时才运行 GitHub 工作流,即更改正在进入 master。

到此为止

workflow "Install Yarn Dependencies" 
  on = "pull_request"
  resolves = ["Install"]


action "Is Master Branch" 
  uses = "actions/bin/filter@master"
  args = "branch master"


action "Install" 
  needs = "Is Master Branch"
  uses = "nuxt/actions-yarn@master"
  args = "install"

当我打开合并development 分支到master 分支的拉取请求时,我的Install 操作没有运行,因为Is Master Branch 返回

refs/heads/development 与 refs/heads/master 不匹配

【问题讨论】:

【参考方案1】:

使用新的YAML 语法,您可以这样实现:

on:
  pull_request:
    branches:
    - master

【讨论】:

【参考方案2】:

用ref 代替branch 怎么样? (虽然我还没有测试过这段代码)

action "Is Master Branch" 
  uses = "actions/bin/filter@master"
  args = "ref refs/heads/master"

【讨论】:

以上是关于仅当 pr 目标为 master 时才运行 GitHub 操作的主要内容,如果未能解决你的问题,请参考以下文章

SaltStack:仅当目录存在时才使用目录作为源

仅当 git 标签不以字符串“Release”或“Test”开头时才在 Gitlab CI 中启动管道

仅当 src 发生更改时才运行构建

仅当 FormType 为 Create 时才将所有者设置为当前用户

仅当日期小于另一个时才运行函数

仅当两个依赖项都更改时才运行效果挂钩