name: test-publish
on: [push]
jobs:
test:
strategy:
...
steps:
...
publish:
needs: test
if: github.event_name == 'push' && github.ref???
steps:
... # eg: publish package to PyPI
为了检查这个提交是否是新版本,我应该在jobs.publish.if
中放置什么内容?
这样写可以吗:contains(github.ref, '/tags/')
?
如果我同时推送代码和标签会发生什么?
if: github.event_name == 'release'
? - Joshua Coadygithub.ref
包含的是refs/heads/blabla
而不是标签。我尝试了几种组合:提交推送,然后创建并推送标签(使用--tags
选项)。 提交、打标签,然后推送(当然也要使用--tags
选项)。 CI作业链接 - Stepan Dyatkovskiyon: push: tags: ...
或者on: release
来设置github.ref
为标签。请参考文档以了解github.ref
如何根据触发器进行设置:https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#release - erb