Our master branch should always run a full pipeline, regardless of the files changed
Currently, if a commit contains only documentation changes for example, we run a limited subset of tests in order to save time and resources. This is great!
However, once that commit gets merged into master
, we still only run the limited subset. See 1df48218 for example.
When we have an ongoing master:broken event, this can lead to "blips" of passing master
pipelines, which can lead to misunderstandings about the current state of the branch. It also increases complexity in our auto-deploy process, where we always want to create the branch from a passing master
commit, but now have to ensure we're getting a "fully passing" build. See gitlab-com/gl-infra/delivery#542 (closed) for a workaround we had to implement.
While saving resources is generally a good thing, I think master
should be the exception, and we should always perform full test runs.
#31648 (closed) is aiming to address this, but deals more with the implementation.