GitHub Actions 支持 "skip ci" 了
Intro
GitHub Actions 作为 GitHub 官方的 CI 支持,很多开源项目已经在使用 Actions 来做项目的 CI 了,但是一直以来有一个痛点,就是不支持跳过 CI,其他的 CI 大多都可以通过在 commit 信息里包含一个 "skip ci"/"ci skip" 等来告诉 CI 系统不要出发 CI build,GitHub Actions 一直都是不支持的,但是现在已经支持了
Use
在 commit 信息中只要包含了下面几个关键词就会跳过 CI,不会触发 CI Build
[skip ci]
[ci skip]
[no ci]
[skip actions]
[actions skip]
Sample
来看一个示例吧,这个项目集成了 Github Actions 和 Azure Pipelines 两种 CI,首先来看一个不跳过 CI 的示例:
这个 CI 是正常触发,没有跳过的,再来看跳过 CI 的示例:
从上面可以看到并没有触发任何 CI,因为 "skip ci" 对于 Azure Pipelines 也是一个跳过 CI 的关键词,不仅仅是 Azure Pipelines,Travis等 CI 也是会跳过 CI 的
More
从上面的那个示例可以看的出来,Azure Pipelines 虽然没有触发 CI,但是还是可以看到记录的,只是因为跳过了,从这个角度个人觉得 Azure Pipelines 还是比 Github Actions 更合理一些
更多 GitHub Actions 的 Roadmap 可以参考:https://github.com/github/roadmap/projects/1?card_filter_query=actions
Reference
https://github.blog/changelog/2021-02-08-github-actions-skip-pull-request-and-push-workflows-with-skip-ci/
https://github.com/github/roadmap/projects/1?card_filter_query=actions