有没有一种方法可以使用逻辑AND在GitHub动作中组合推送条件?

时间:2020-10-31 12:29:13

标签: git github github-actions

在GitHub操作'Events that trigger workflows' documentation中,列出了多种方式,例如在特定分支和特定路径上的更改。有没有一种方法可以使用AND结合这两者?

据我了解,如果向主分支或特定路径进行推送,则以下语法将触发运行。是否可以说必须同时满足这两个条件才能触发操作?

on:
  push:
    branches:
    - master
    paths:
    - 'app/*'

注意:我不是在寻找一种骇人听闻的解决方案,例如让它在路径上触发,然后在步骤中检查分支是否为master分支。我知道这是可能的,但是您需要在每个步骤中都这样做,而且一点也不优雅。

2 个答案:

答案 0 :(得分:0)

该语法似乎不支持您的特定请求。

我通读了workflow syntax for GitHub Actions文档,这两个触发器配置似乎无关。

答案 1 :(得分:0)

我发现最近的解决方法是这样的

name: only on master but when the POM changes

on:
  push:
    paths:
      - 'pom.xml'

jobs:
  build_pom:
    runs-on: ubuntu-latest
    steps:
      - run: echo 'this is master'
        if: github.ref == 'refs/heads/master'