Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Unified Diff: tools/perf/PRESUBMIT.py

Issue 1060763002: Update CL description by adding CQ_EXTRA_TRYBOTS for Telemetry changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « codereview.settings ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/perf/PRESUBMIT.py
diff --git a/tools/perf/PRESUBMIT.py b/tools/perf/PRESUBMIT.py
index 70aadd7a160aa9352d758ff2820c2fbca308e03e..4311ead02abd16e220286ec62d39d031a283cc93 100644
--- a/tools/perf/PRESUBMIT.py
+++ b/tools/perf/PRESUBMIT.py
@@ -9,6 +9,7 @@ for more details about the presubmit API built into depot_tools.
"""
import os
+import re
import sys
PYLINT_BLACKLIST = []
@@ -85,3 +86,46 @@ def CheckChangeOnCommit(input_api, output_api):
report = []
report.extend(_CommonChecks(input_api, output_api))
return report
+
+
+def PostUploadHook(cl, change, output_api):
+ """git cl upload will call this hook after the issue is created/modified.
+
+ This hook adds extra try bots list to the CL description in order to run
+ Telemetry benchmarks on Perf trybots in addtion to CQ trybots if the CL
+ contains any changes to Telemetry benchmarks.
+ """
+ results = []
+
+ rietveld_obj = cl.RpcServer()
+ issue = cl.issue
+
+ benchmarks_modified = False
+ for affected_file in change.AffectedFiles():
+ affected_file_path = affected_file.LocalPath()
+ file_path, _ = os.path.splitext(affected_file_path)
+
+ if (os.path.join('tools', 'perf', 'benchmarks') in file_path or
+ os.path.join('tools', 'perf', 'measurements') in file_path):
+ benchmarks_modified = True
qyearsley 2015/04/07 17:55:53 [Optional] The above block could be extracted to a
prasadv 2015/04/08 00:00:16 Done.
+
+ original_description = rietveld_obj.get_description(issue)
+ if benchmarks_modified and not re.search(
+ r'^CQ_EXTRA_TRYBOYS=.*', original_description, re.M | re.I):
qyearsley 2015/04/07 17:55:53 TRYBOYS -> TRYBOTS
qyearsley 2015/04/07 17:55:53 [Optional] If you want to avoid having a long if s
prasadv 2015/04/08 00:00:16 Done.
prasadv 2015/04/08 00:00:16 Done.
+ bots = [
+ 'linux_perf_bisect',
+ 'mac_perf_bisect',
+ 'win_perf_bisect',
+ 'android_nexus5_perf_bisect'
+ ]
+ bots = ['tryserver.chromium.perf:%s' % s for s in bots]
+ bots_string = ';'.join(bots)
+ description = original_description
+ description += '\nCQ_EXTRA_TRYBOYS=%s' % bots_string
qyearsley 2015/04/07 17:55:53 TRYBOYS -> TRYBOTS
prasadv 2015/04/08 00:00:16 Done.
+ results.append(output_api.PresubmitNotifyResult(
+ 'Automatically added Perf trybots to run Telemetry benchmarks on CQ.'))
+
+ if description != original_description:
+ rietveld_obj.update_description(issue, description)
+
+ return results
« no previous file with comments | « codereview.settings ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698