CI SKIP works for all providers with the exception of Stash push events. The problem is that Atlassian Stash (aka Bitbucket Server) does not include the commit message in the webhook payload, which results in an empty string being evaluated for the directive. You can see an example Stash webhook here that demonstrates the problem (notice lacking commit message). The other major providers (GitHub, GitLab, etc) include the commit message in the webhook, and therefore work as expected.
We have logic in Drone that fetches the missing data from Stash, however, this happens later in the process, after the system has already checked for the CI SKIP directive. It is possible we can re-arrange some things in the codebase to account for this deficiency in Stash webhooks.
The caveat is that the above change will impact merges:
bitbucket server includes commit messages of all commits from a branch when merging PR, so if the developer had added [CI SKIP] in the source branch those messages would cause the merge commit from skipping the build
CI SKIP is ignored for tag events and promotion events, and when triggering pipelines manually. See https://docs.drone.io/pipeline/skipping/. If you do not want your pipeline to trigger for tags you can use the trigger section of your yaml.
Hello, I would like to bring up this topic, because it didn’t work with the last Bitbucket, exactly like you said, the event send by Bitbucket has no “message”, but he has the hash for the commit which could be used to get the message when you generate the Push object in Drone.
Is it planned to work on this ?
Seriously, I love Drone, and if this isn’t working, I’ll just go on other CI, for ONLY one thing which could be fixed.