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 rule a
  • a minimum number of approvals — m_{a} is the number of required approvers for rule a

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

Links / references

Assignee Loading
Time tracking Loading