The problem I have is that when a merge commit contains [ci skip] then the merge commit is not built as is expected, but instead the previous commit is built which is unexpected.
When [ci-skip] is used, I assume no travis build is triggered at all.
You can see this better with an image here:
In the image the merge commit is not built by travis, but the last merged commit is built by travis. The build has failed and is marked with a red X in github. Build failing is unrelated to this issue.
The merge commit was created with with
git merge -m "merge commit message [skip ci]" somebranch
and the result was pushed to github. After that travis will build the commit before the merge commit, which is unexpected.
Here is a concrete example:
This travis job made a merge and push: https://travis-ci.com/Rochet2/TrinityCore3.3.5/jobs/157766489
and it triggered the following build even though I expected it not to create travis builds: https://travis-ci.org/Rochet2/TrinityCore/builds/453672556