Context
Our pipeline triggers:
trigger:
branches:
include:
- develop
- master
pr:
- master
Our pipeline acts based on some conditions which check which branch it's on, or what triggered the pipeline.
- Commit to develop triggers bumps the version, commits back to develop, builds and artifacts
- PR triggers a deployment to acceptance
- Commit to master triggers a deployment to production
To not have the develop branch trigger itself it commits with [skip ci]
in the commit message.
I have verified that it works when I merge a PR that does not contain any [skip ci]
commits. So the trigger itself is functional.
Problem
When we merge the PR to master it does NOT trigger the CI trigger at all. In the azure devops panel it never shows up, indicating that it is ignored.
Removing the [skip ci] commit makes this problem go away, but introduces the problem of the pipeline triggering itself constantly.
Our repository is in GitHub, preventing me from manually filtering out based on commit author or something.
I'm somewhat perplexed that a merge commit, containing an older commit with [skip ci]
in it, is preventing the trigger from firing.
Am I misunderstanding expected behavior here?
I'm open to workarounds as well.
Apologies if this is answered somewhere already, but I could not find anyone with this exact issue.
Commit log
In red: a merged PR without a [skip ci] commit -- this correctly triggers CI master branch (see underlined commit with checkmark)
In yellow: a merged with a [skip ci] commit -- this does not trigger CI master branch (see underlined commit without checkmark)
Neither merge commits contain more then the title in the commit message.
Azure DevOps Pipeline log
I've marked the same sections as in the github screenshot for clarity. As you can see an Individual CI for master is missing in the yellow section.