如何解决GitHub 上的标签工作流不是从语义发布开始的
我有一个工作流,每当一个新标签被推送到 GitHub 时,它就会运行:
on:
push:
tags:
- '*'
我使用语义发布插件来自动创建新版本 (xx.yy.zz
) 每当某些内容合并到主版本时。这会自动在 GitHub 上创建新标签和发布。
但是,不会为这些新标签执行新标签的工作流程。但是,当我使用 git tag test-tag
手动创建一个新标签并将其推送 git push --tags
时,工作流会被执行。
我可以在 GitHub 的 tags
部分看到语义发布和手动创建的标签。
这两种方法有什么区别,我的工作流是针对手动推送而不是通过语义发布执行的?
解决方法
GitHub 最近引入了 changes,如果 [skip ci]
是提交消息的一部分,则不会触发工作流。语义发布会默认创建一个带有 [skip ci]
的提交消息,因此未执行工作流。
我通过创建自定义语义发布提交消息解决了我的问题。