CI: Reduce CI load
-
CI: Don't run pipelines for merge requests
If we avoid running pipelines for merge requests, then the status of the pipeline for the branch will show up. The pipeline for the branch can be more comprehensive because it has access to project-specific masked and protected variables.
-
Don't automatically run CI for pushes to master
When we push to master it's usually for one of three reasons:
- We merged a merge request
- We pushed the "release vX.Y.Z" commit, together with a tag
- We pushed some other trivial change directly
When we merged a merge request, immediately running CI is not necessarily very helpful, because we already ran it for the branch that's getting merged.
If we pushed a release commit and a tag, we want the CI pipeline for the tag to take priority over the CI pipeline for the release commit.
If we pushed a trivial change, it might not even need CI (if it's just a change to a README, or similar), but if it does, we can trigger it manually.