Streamline Gitaly test pipelines
Problem Statement
Currently, the Gitaly test pipelines run if any change is made within the gitlab.org/gitaly
repository. While this is generally desired behavior, there are examples where this doesn't make a lot of sense.
For example, documentation updates should not result in a full test pipeline. Neither should changes to merge request templates and issue templates.
The ideal situation here is that we only run test pipelines when we absolutely need to, which will reduce pipeline flakey failures and overall resource consumption. When asked in the #g_engineering_productivity
Slack channel, some good examples were provided. Internal Slack link
Ideally, we'd be excluding the following from the full test suite:
gitaly/.gitlab/CODEOWNERS
gitaly/.gitlab/issues_templates/*
gitaly/.gitlab/merge_request_templates/*
Additionally, we seem to include everything in gitaly/docs
as a code change. In reality, we should really only be running the verify:docs
section of the .gitaly-ci.yml
file for documentation changes. I'd suggest filtering on *.md
for these as it will also catch things like gitaly/README.md
and the like.
There also may be opportunities to exclude full test suite runs for other files as well (such as the scripts
or the tools
paths.
Doing this should reduce the overall number of pipelines by a small measure, and streamline updates to documentation and template files.