Merge "[check-release-approval] Fix distributed leadership handling"

This commit is contained in:
Zuul 2023-11-29 08:31:21 +00:00 committed by Gerrit Code Review
commit 880c2680cc
1 changed files with 12 additions and 2 deletions

View File

@ -125,9 +125,19 @@ class GerritChange(object):
approved = False
break
# Fetch PTL and release liaisons
# Fetch release liaisons from data/release_liaisons.yaml
liaisons = get_liaisons(self.workspace, team)
# Some teams may be PTL-less, so don't assume we have PTL info
# Some teams follow the "distributed project lead" governance
# model so they are PTL-less but they have release liaisons
# defined. Fetch those liaisons.
if govteam.get('leadership_type') == 'distributed':
distributed_release_liaisons = govteam['liaisons']['release']
for liaison in distributed_release_liaisons:
liaisons.append(liaison['email'])
# Fetch PTL's email address (note: some teams may be PTL-less,
# so don't assume we have PTL info)
if 'email' in govteam.get('ptl', {}):
liaisons.append(govteam['ptl']['email'])
LOG.debug('%s needs %s' % (deliv_file, liaisons))