Product discovery for multiple blocking approver groups
Many organizations require all changes to be reviewed and approved by specific groups of people before a change can be merged (e.g. every change must be approved by at least: 1 staff engineer, 1 product manager, 1 production engineer). GitLab only supports selecting users (and groups) who can approve the change and a minimum number of approvals required. In this structure it is impossible to enforce the sign off structure in the example above.
Proposal
The leading proposal is described here: https://gitlab.com/gitlab-org/gitlab-ee/issues/1979#note_57687880
A project may have n rules, where a rule is:
- a list of users and groups –
\mathbb{R}_{a}is the set of explicit approvers for rulea - a minimum number of approvals —
m_{a}is the number of required approvers for rulea
Goals
- Address technical concerns in the design of this approach with respect to performance and maintenance.
- Resolve interaction between required code owner approvals and blocking approver groups