Merge Request reviews and approvals
It's been a while since I don't contribute to GStreamer so I don't know if this has already been discussed, I can't find it anywhere. The "How to contribute to GStreamer" docs explains how contributions should be made for "non-developers" (without the "developer" badge in the project) but it doesn't explain the workflow for "developers", assuming that anyone with developer access can merge freely. Even though CI's are doing a good job in ensuring quality in the MR's (the changes in that branches at least build and tests, if any, are passing), there should be an approval step prior to the merge to ensure an extra bit in code's quality. My situation, for example, is that I have 4 MR's opened in cerbero, with CI's passing, and even though I have been working on that project for several years, I feel all of them needs a reviewer. There are so many variables in play that a review is always needed to improve the overall quality of the code and the project.
I would like to propose that Merge Requests should have at least an approval from another developer in the project. This feature is available in GitLab's Starter or EE but since this is a private instance I don't think this it's enabled by default. If this feature is not available we can do it with comments.
Proposed workflow
- A developer opens a MR
- The MR is reviewed by at least another developer
- Comments in the MR are processed
- A developer approves the MR using the MR approval feature or commenting on the MR.
- The developer that opened the MR merges it.
Tools to help the review process.
- A bot that listen for "Needs reviewer" comments and posts to #gstreamer