GitHub Actions 中包含下划线的标记筛选器

Tag filter in GitHub Actions containing underscore

提问人:spydon 提问时间:11/11/2023 最后编辑:jonrsharpespydon 更新时间:11/11/2023 访问量:64

问:

我正在尝试让我们的 GitHub Actions 工作流程匹配如下所示的标签:

package_name-v1.2.3-dev

我已将标签过滤器分为两个部分,因为最后一部分是可选的,因此它看起来像这样:

name: Publish packages
on:
  push:
    tags:
      - '*-v[0-9]+.[0-9]+.[0-9]+'
      - '*-v[0-9]+.[0-9]+.[0-9]+-[A-Za-z0-9]+'

但它与我的标签永远不匹配。package_name-v1.2.3

我还尝试了没有第二部分,并为第一部分明确指定字符:

name: Publish packages
on:
  push:
    tags:
      - '[a-z0-9_]+-v[0-9]+.[0-9]+.[0-9]+'

但后来它根本不起作用,然后 GitHub 说:

push event contained invalid tags patterns: [a-z0-9_]+-v[0-9]+.[0-9]+.[0-9]+

如果我删除它,它就会停止抱怨,但我需要标签名称能够包含下划线。有什么想法吗?_

github-actions glob

评论

0赞 jonrsharpe 11/11/2023
*应该匹配所有内容,除了 ,per docs.github.com/en/actions/using-workflows/...,所以我很惊讶它不匹配。/_
0赞 spydon 11/11/2023
@jonrsharpe是的,一样!当然,也可能是别的东西......以下是标签: github.com/spydon/melos-action-test/tags 这是未触发的操作:github.com/spydon/melos-action-test/blob/main/.github/workflows/...
0赞 Azeem 11/11/2023
两者都工作正常。请参阅此处和此处。使用显式下划线,此模式也有效。请看这里。但是,对于字符组和范围,下划线会引发“无效标记模式”错误。您可能需要为此提出一个问题'*-v[0-9]+.[0-9]+.[0-9]+''*-v[0-9]+.[0-9]+.[0-9]+-[A-Za-z0-9]+''[a-z]+_[a-z]+-v[0-9]+.[0-9]+.[0-9]+'
0赞 spydon 11/11/2023
感谢您@Azeem检查!难道它不会为我触发,因为标签是由 CI 创建的吗?
1赞 spydon 11/11/2023
@Azeem 我正在开发 melos-action(发布部分目前不起作用),并针对 github.com/spydon/melos-action-test 在这里,您可以看到一个示例,我尝试在不被标签触发的情况下发布: github.com/spydon/melos-action-test/actions/runs/6825331670/job/...“不允许调用 GitHub Action 发布,因为:仅允许从 'tag' refType 发布,此令牌具有 'branch' refType。请参阅身份验证失败 dart.dev/go/publishing-from-github

答: 暂无答案