Remove ~"pipeline:mr-approved" from MR when there are no approvals
Context
Closes #1487 (closed)
What does this MR do and why?
Two refactorings were done to extract the functionality I needed to implement the new processor from other processors.
- [Refactoring] Extract the NeedMrApprovedLabel class (commit)
- [Refactoring] Extract merge_request_approvers method (commit)
- [Feature] Add new processor to manage the MR approved label (commit)
Expected impact & dry-runs
Apart from removing the pipeline:mr-approved label when approvals are removed, no impact is expected, but since this MR is refactoring some core aspects of the merging process (trigger new pipeline after adding the pipeline:mr-approved label), we should monitor/test it.
Action items
-
If adding environment variables for reactive processors, update config/triage-web.yaml
and.gitlab/ci/triage-web.yml
-
(If applicable) Add documentation to the handbook pages for Triage Operations => - (If applicable) Identify the affected groups and how to communicate to them:
-
/cc @ person_or_group
=> -
Relevant Slack channels => -
Engineering week-in-review
-
Edited by David Dieulivol