如何在推送新标签时不执行 GitHub Action?

8
我希望我的GitHub Action在推送新标签到主仓库时不要执行所有测试,因为当我们合并新分支时,我们会先执行此操作,当我们推送一个标签来创建新的发布版本时,此操作再次执行。
目前,此操作以以下方式开始:
name: Build and Test
on: push

如您所见,这将在我们进行任何推送时执行,并且我想改变这一行动仅在我们推送提交时才会执行,而不是标签。我的大致解决方案会是这样的,但我不确定。

name: Build and Test
on:
  push:
    branches:
      - '*'
    tags-ignore:
      - '*'
1个回答

11

这应该有效,但我建议进行两个改进。

首先,使用**代替*(这里的边缘情况是一个名为/的分支/标签)。

其次,省略tags-ignore子句。在我的测试中,如果您指定了branches但没有指定tagstags-ignore,Github会忽略所有标签。

name: Build and Test
on:
  push:
    branches:
      - '**'

可以确认这个有效。如果你的流水线在每次提交sha时构建,那么标签构建将是纯粹多余的,这非常有帮助。 - Taylor j. Eke
只想强调,除非我明确设置了 --tags-ignore: - '**',否则我最终会遇到此错误。 即使我的工作流程仅接受这个推送触发器,标签推送也将被拒绝。on: push: branches: -master - NegatioN

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