【问题标题】:Is it possible to do pattern matching in if conditional for github actions?如果对 github 操作有条件,是否可以进行模式匹配?
【发布时间】:2021-12-11 21:57:22
【问题描述】:

我目前正在这样做:

if: failure() && (github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/mybranch')

但我们正在使用 git flow(让我很懊恼)。

如何检查分支名称是否包含特定模式?

类似这样的:

if: failure() && ( !(github.ref ~= 'feature/*' )

【问题讨论】:

  • Azure 管道(相同的基础设施)有一个startsWith 功能...startsWith(github.ref, 'refs/heads/feature/')。我怀疑它也可以在这里工作...
  • @jessehouwing 所以我试了一下,它说我的管道无效if: failure() && !( contains( github.ref, "develop" ))
  • 目前还没有if 条件的正则表达式,但一种解决方案是在上一步中进行正则表达式模式匹配并检查if 条件中的结果。有关示例,请参见 this answer

标签: github github-actions


【解决方案1】:

contains 看起来不错

        if: failure() && !contains( github.ref, 'feature' )

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-11
  • 1970-01-01
  • 2016-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多