Public API changes are allowed if an owner is TBR'ed.
The following TBR formats are supported:
* TBR=reed
* TBR=reed@google.com
* TBR=xyz,reed
* TBR=xyz,reed@google.com
BUG=skia:2870
R=borenet@google.com
Author: rmistry@google.com
Review URL: https://codereview.chromium.org/504843003
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index ebba609..7269830 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -20,6 +20,7 @@
SKIA_TREE_STATUS_URL = 'http://skia-tree-status.appspot.com'
+# Please add the complete email address here (and not just 'xyz@' or 'xyz').
PUBLIC_API_OWNERS = (
'reed@chromium.org',
'reed@google.com',
@@ -206,6 +207,16 @@
if re.match(REVERT_CL_SUBJECT_PREFIX, issue_properties['subject'], re.I):
# It is a revert CL, ignore the public api owners check.
return results
+
+ match = re.search(r'^TBR=(.*)$', issue_properties['description'], re.M)
+ if match:
+ tbr_entries = match.group(1).strip().split(',')
+ for owner in PUBLIC_API_OWNERS:
+ if owner in tbr_entries or owner.split('@')[0] in tbr_entries:
+ # If an owner is specified in the TBR= line then ignore the public
+ # api owners check.
+ return results
+
if issue_properties['owner_email'] in PUBLIC_API_OWNERS:
# An owner created the CL that is an automatic LGTM.
lgtm_from_owner = True