Switch to optional CODEOWNER sections
What does this MR do and why?
Switch to optional CODEOWNER sections.
For efficiency and for ease of iteration, we switch mandatory CODEOWNER sections to become optional. Some mandatory sections were kept for compliance, security, or availability reasons.
Document the thinking about this.
Related issue: #377326
Why?
- Having a large number of required approvers on a merge request is not efficient.
- As we have a non-modular monolith, more and more mandatory sections is not scalable. Having a modular monolith is probably years away.
For example, on !136642 (merged), we had 5 required approvers:
See also related Slack thread (internal)
Why not ?
- Engineering Analytics gitlab-org/quality/engineering-analytics/team-tasks#266
- Anecdata from
@tkuah
: Personally, I do not work on feature development a lot. Within this context, let's look at my recently merged 13 MRs. Out of the 13, only 1 MR require more than 2 required approvals:
Alternatives to this MR
- Train developers on splitting merge requests. For example !138621 (merged) requires 4 approvals but this kind of MR could be split according by CODEOWNER
- Smarter approval resets in merge requests (&544)
Edited by Thong Kuah