GitHub Actions 允许使用分支和标签过滤器,但它们似乎不能同时使用。
例如,此工作流程在推送到主分支 或 推送带有标签的分支时运行。
name: npm Publish
on:
push:
branches:
- master
tags:
- v*
我想设置一个发布工作流程,当标记推送到主分支时运行,而不仅是其中之一。如何实现?
GitHub Actions 允许使用分支和标签过滤器,但它们似乎不能同时使用。
例如,此工作流程在推送到主分支 或 推送带有标签的分支时运行。
name: npm Publish
on:
push:
branches:
- master
tags:
- v*
on: release
而不是 on: push
。这将在通过 GitHub UI 发布发布版时触发工作流程执行。当您在 GitHub 上发布版本时,它会使用您指定的版本标记 master
分支。因此,每次工作流程的执行都保证是在 master
分支上的已标记提交。name: npm Publish
on: release
master
分支上的标签吗?因为我在文档中找不到像你所寻找的AND操作的方法,但如果你所有的v*
标签都在主分支上,那么你可以尝试省略branches: master
,看看是否有效。文档中说:“仅定义tags:
或branches:
中的一个将意味着工作流跳过影响另一类型引用的事件。” - rmunnif
条件语句,但这可能有点繁琐。一个选项是仅使用on: release
触发工作流程,而不是on: push
。然后它只会在您发布主分支上的标签时触发。 - peterevans