我的 GitHub Action 为什么不能触发正则表达式标签?

6

我第一次尝试使用Github Actions时,需要基于Git标签触发,例如 1.2.3-RELEASE,这似乎是一个很常见的需求。我可以找到类似于以下示例:

on:
  push:
    tags:        
      - v1             # Push events to v1 tag
      - v1.*           # Push events to v1.0, v1.1, and v1.9 tags

所以我像这样创建了我的yaml文件:

on:
  push:
    tags: 
      - '[1-9]+.[0-9]+.[0-9]+\-RELEASE'

但它从未触发。我使用在线工具验证了正则表达式,并尝试了一个带有v1.1标签的第一个示例设置,无论是否使用引号都可以工作。我的表达式需要引号,这很好,但它不起作用。有人知道我在这里做错了什么吗?

1个回答

8
GitHub Actions 语法文档 提到:

branchesbranches-ignoretagstags-ignore 关键字接受使用 *** 通配符匹配多个分支或标签名称的 glob 模式。
有关更多信息,请参见“筛选模式速查表”。

因此,普通的正则表达式无法起作用。
你的表达式已经足够接近 glob 模式了:我建议不要转义 -

[1-9]+.[0-9]+.[0-9]+-RELEASE

哦,全局匹配而不是正则表达式。那是我的主要错误。谢谢。 - RogerParkinson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接