In a thread on here, you mention that using “[ci skip]” or “[skip ci]” in a commit message will make drone skip this commit. We’re running V1.0.0-rc.5 and it seems this does not work as expected:
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
We see the same behaviour here (drone 1.1.0). If i push a commit into an already build/openend PR with “[ci skip]” in the commit message the build is triggered
Okay I toyed a little with this and it works but perhaps different to how one would expect it (in combination with github that is).
If the Github PR title contains [ci skip] then builds are always skipped regardless of commit message.
If one edits the Github PR title and removes [ci skip] tag then commits get built
So in Github context it’s not the commit message that counts, but the Pull-Request title.
See below, where GitHub tag events are still running even with the skip ci flag. I actually tested switching the flag to ci skip, but have experienced the same behaviour.
CI SKIP is ignored for tag events and promotion events, and when triggering pipelines manually. See Skipping | Drone. If you do not want your pipeline to trigger for tags you can use the trigger section of your yaml.
@bradrydzewski
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.