Developing against interacting components or features

It’s not uncommon that a single code change can reflect and interact with multiple parts of GitLab codebase. Furthermore, an existing feature might have an underlying integration or behavior that might go unnoticed even by reviewers and maintainers.

The goal of this section is to briefly list interacting pieces to think about when making backend changes that might involve multiple features or components.


GitLab supports uploads to object storage. That means every feature and change that affects uploads should also be tested against object storage, which is not enabled by default in GDK.

When working on a related feature, make sure to enable and test it against MinIO.

See also File Storage in GitLab.

Merge requests


GitLab supports a great amount of features for merge requests. One of them is the ability to create merge requests from and to forks, which should also be highly considered and tested upon development phase.