We often end up with the words “skip CI” in commit messages — but not because we want to skip CI. Strange? Maybe. But very hard to avoid.
Here’s one flow through our CI setup that causes this problem:
Dependabot (dependency update bot) summarises commit messages between the version of a dependency you’re currently on, and the one it’s trying to update you to. Some of these commits may have “skip CI” in their message.
Bors (merge bot) rolls up several PRs to test together, and summarises the PRs’ messages in the new mega-merge commit. Some of these PRs in the batch will have been created by Dependabot, and some of these will be our own changes.
There’s now a good chance that the resulting commit has “skip CI” somewhere in its message. And so our CI system will not make progress.
Rather than trying to convince multiple third party tools to censor any instances of “skip CI” they find in commit messages, I’d much rather be able to disable the “skip CI” behaviour at the organisation level in Buildkite. We never use it deliberately, and could easily build it into our pipeline generation code if we decided we did want something like that, so I’d be very happy to just turn it off at the pipeline or organisation level if that were possible.
We have some internal flags we can now flip allowing us to turn off “skip ci” handling for an entire organization. I believe we’ve already turned it off for your organization @jeffparsons?
Our current plan is to eventually ditch “skip ci” as a feature, and allow peeps to define their own rules around this sort of thing in the web interface (instead of having to create those rules in a dynamic pipeline). For the most part, we think “skip ci” causes more confusion it’s worth (especially since there are a few edge cases where “skip ci” doesn’t work at all - in some cases we don’t get the commit message until the build runs, at which point it’s too late to skip the build)
If anyone comes along and sees this reply and would like it turned off for your organization as well, shoot us an email firstname.lastname@example.org and we can make it happen!