Skip to content

Add back MR widget changes to support fail-closed approval rules

What does this MR do and why?

This MR brings back the MR widget adaptions from !117423 (merged) that were reverted in !118140 (merged) due to issue #408161 (closed).

The issue was caused by an inconsistent backend response that is addressed by !118189 (merged).

Screenshots or screen recordings

In addition to the screenshots in the original MR, here are screenshots of the problematic any_approver rule:

Before the backend fix is applied: CleanShot_2023-04-20_at_14.57.05_2x

After the backend fix is applied: CleanShot_2023-04-20_at_14.58.00_2x

Combination of various rules with disabled FF invalid_scan_result_policy_prevents_merge: CleanShot_2023-04-20_at_15.05.00_2x

Combination of various rules with enabled FF invalid_scan_result_policy_prevents_merge: CleanShot_2023-04-20_at_15.03.27_2x

When rule is optional: CleanShot_2023-04-21_at_10.17.11_2x

When approval is given: CleanShot_2023-04-21_at_10.18.01_2x

When approval is given and action is still required: CleanShot_2023-04-21_at_10.26.21_2x

With a merge rule with single approver: CleanShot_2023-04-24_at_09.39.59_2x

How to set up and validate locally

See the original MR !117423 (merged). In addition, you can enforce any_approver rule:

  • In project settings -> Merge requests, set Approvals required to 1 for All eligible users

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #389905 (closed)

Edited by Martin Čavoj

Merge request reports