Show "approve" button on merge requests in Core
Problem to solve
Code review is an essential practice of every successful project, and giving your approval to the merge request once the merge request is in good shape is very important. Currently this can be done by leaving a comment, or giving a thumbs up, but these forms of approval are easily lost.
- thumbs up
👍 is often used to signal enthusiasm or encouragement for great work that is happening - merge request discussions are often hard to parse on long running merge requests as multiple rounds of reviews occur
GitLab should make the Approve button available to Developers in GitLab core, so that this is a clear list of people who have approved the merge request. This would also make it visible on the merge request list if the merge request has been approved or not.
Further details
One of the benefits of merge request approvals in gitlab-ce2933322 and gitlab-ce2278657 is requiring a minimum number of approvals, and restricting which project members are eligible approvers.
Individual developers who want a friend to do a code review, or small teams that function mostly on trust, would benefit from having the approve button and status in the merge request list, and provide a smoother transition from CE to EE when the team grows in the future.
Proposal
- Add the Approve button to the merge request widget as an entirely optional step
- In the merge request list, if the MR has 1+ approvals, show “Approved” and the number of approvals in a tooltip. If no approvals, don't show anything.
- Merge request hook should include approval information
- Make
approved_by_ids
api attribute available in Core
Benefits:
- lightweight, completely optional approval workflow
- clear signal of approval on a merge request (no noise/confusion caused by emoji reactions)
- avoids divergence from EE, that the emoji voting proposal would have https://gitlab.com/gitlab-org/gitlab-ce/issues/13411