[check-approval] Use committer instead of owner

The check-release-approval job currently considers a change being
approved if a release liaison is the change owner, or if a release
liaison approves it in a subsequent vote.

This means that if a release liaison pushes the original change (and
is therefore the change owner), any patchset pushed above the original
one will retain the owner and therefore the approval.

Instead of the change owner, use the committer of the last revision.

Change-Id: I2f7730626a8785b63f88fdf5d507fbd97717b8f3
This commit is contained in:
Thierry Carrez 2020-04-10 14:32:02 +02:00
parent 04133b4bcc
commit a02a823057

View File

@ -87,10 +87,11 @@ class GerritChange(object):
raw, raw.url, trimmed)
raise
# Extract approvers from JSON data. Approvers include change owner
# Extract approvers from JSON data. Approvers include last committer
# and anyone who voted Code-Review+1. NB: Gerrit does not fill
# labels.CodeReview.all unless there is a vote already
self.approvers = [decoded['owner']['email']]
last_revision = decoded['revisions'][decoded['current_revision']]
self.approvers = [last_revision['uploader']['email']]
if 'all' in decoded['labels']['Code-Review']:
self.approvers.extend([
i['email']