Upgrading approvals with approval chain
In larger organizations that have strict policies and processes that govern how code is accepted, merge request approval is about more than approving the code change from a code quality and UX perspective, but also about an order sign off process that assigns specific responsibilities to specific individuals at various points in the process. These approvals could represent user acceptance testing, or a final security or legal review.
Building on unordered multiple blocking approval groups/rules #1979 (closed) GitLab should allow approvals to be ordered to enforce more sophisticated workflows.
Right now I have 10 developers from my company (3 senior and 7 junior developers) and 10 developers from vendor company (4 senior and 6 junior developers ) working on a same project. I'm using approvals to force code quality checking, with first line checking being on vendor side, and after that on company side. I would like to set merge approvals in such way that for request to be accepted, at least one of company senior developers and one of vendor senior developers must accept request. Right now, I can only set that in three ways, and it's not good enough:
- Set approvals required on 2 and add senior developers from my company and vendor company to approvers, but then two of vendor developers can accept merge and code will pass without senior developers from my company checking the code.
- Set approvals on 5 and add senior developers from my company and vendor company to approvers, so at least one senior developer from company must accept changes, but then I'm risking project delays if five senior developers are not accessible at the moment.
- Give approvals only to my company senior developers, but then I'm losing first line code checking that I would like to force to vendors.
Upgrade approvals such that an approval chain can be configured so that certain approvals must happen in a certain order.