【问题标题】:Is there a way to combine push criteria in GitHub actions using the logical AND?有没有办法使用逻辑 AND 在 GitHub 操作中组合推送标准?
【发布时间】:2021-09-03 17:48:52
【问题描述】:

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

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

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

注意:我不是在寻找一个 hacky 解决方案,比如让它在路径上触发,然后如果分支是主分支,则检查该步骤。我知道这是可能的,但你需要为每一步都这样做,而且一点也不优雅。

【问题讨论】:

  • 现在对我来说是 AND,我上次在 2020 年 8 月检查时也是 AND。您是否对此进行了测试并确认您得到 OR?现在,当您列出多个分支或路径时,即 OR。

标签: git github github-actions


【解决方案1】:

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

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

【讨论】:

  • 是的,这就是我所怀疑的。我也通读了该文档,但它没有出现。感谢你的付出!我可能会接受这个答案,也许他们将来会添加这样的功能。
  • GitHub 允许免费用户打开支持请求。您可以随时通过support.github.com/contact 提出功能请求
【解决方案2】:

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

name: only on master but when the POM changes

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

jobs:
  build_pom:
    if: ${{ github.ref == 'refs/heads/master' }}
    runs-on: ubuntu-latest
    steps:
    [...]

【讨论】:

    猜你喜欢
    • 2019-09-03
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    • 2017-12-15
    • 2021-09-29
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    相关资源
    最近更新 更多