tree d7dab500048b816fde38bbaf1ce548fce8d5bbe8
parent fb092e2d2be452b23fd421c523eb37f17d466e57
author Edwin Kempin <ekempin@google.com> 1606382262 +0100
committer Edwin Kempin <ekempin@google.com> 1606906112 +0100

Support configuring multiple override approvals

With this change it is now possible to configure multiple approvals that
count as override for the code owners submit check. If multiple
approvals are configured, any of them is sufficient to override the code
owners submit check.

The configured override label is already returned to clients from the
Get Code Owner Branch Config REST endpoint and the Get Code Owner
Project Config REST endpoint, see the 'override_approval' field in the
respective response entity. Currently the 'override_approval' field
contains a RequiredApprovalInfo entity, but since we support multiple
override labels now we change this to a list of RequiredApprovalInfo
entities. This is an incompatible change that breaks the frontend. To
avoid a breakage the frontend was adapted in change I3677ab4d4 so that
it now understands the old and the new response format. We should submit
this only once that frontend change has been rolled out.

Duplicate override approvals are filtered out and are not returned to
the frontend. As duplicates we consider:

* exact identical override approvals (e.g. "Owners-Override+1" and
  "Owners-Override+1")
* override approvals with the same label name and a higher value (e.g.
  "Owners-Override+2" is not needed if "Owners-Override+1" is also set,
  since "Owners-Override+1" covers all "Owners-Override" approvals >= 1)

Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: I39e09c27ed4b52f60c460fe1ba1306e7073fe9fa
