【发布时间】:2020-01-17 16:13:35
【问题描述】:
GitHub 操作允许使用分支和标签过滤器,但它们似乎不能一起使用。
例如,此工作流在推送到主或带有标签的推送上运行。
name: npm Publish
on:
push:
branches:
- master
tags:
- v*
我想设置一个发布工作流程,该工作流程在标记推送到主服务器上运行,而不仅仅是一个或另一个。如何做到这一点?
【问题讨论】:
-
master上是否有任何没有的标签?因为我在文档中看不到像您正在寻找的那样做 AND 的方法,但是如果您的所有v*标签都在 master 分支上,那么您可以尝试省略branches: master并查看是否有效。 docs 表示“仅定义tags:或branches:中的一个将意味着工作流会跳过影响其他类型引用的事件。” -
从文档看来这是不可能的。您可能可以在工作步骤中使用
if条件,但这可能有点麻烦。一种选择是简单地使用on: release而不是on: push来触发工作流。那么它只会在你发布一个版本时触发,它在主分支上标记。 -
@peterevans 我没有看到那个解决方案。我觉得这已经足够接近,值得回答
-
@Kyeotic 添加了答案以扩展我的评论。
标签: github-actions