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

Unified Diff: infra/bots/recipes/swarm_trigger.py

Issue 2263323002: Apply gerrit ref if it is a Gerrit patch (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: Cleanup Created 4 years, 4 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
Index: infra/bots/recipes/swarm_trigger.py
diff --git a/infra/bots/recipes/swarm_trigger.py b/infra/bots/recipes/swarm_trigger.py
index b16405dd064413f679d4c39e206e6f7215ce9318..f49cd299f8b58f81d8df65612873cb7cbe2fea06 100644
--- a/infra/bots/recipes/swarm_trigger.py
+++ b/infra/bots/recipes/swarm_trigger.py
@@ -193,9 +193,15 @@ def trigger_task(api, task_name, builder, master, slave, buildnumber,
'swarm_out_dir': '${ISOLATED_OUTDIR}',
}
if builder_cfg['is_trybot']:
- properties['issue'] = str(api.properties['issue'])
- properties['patchset'] = str(api.properties['patchset'])
- properties['rietveld'] = api.properties['rietveld']
+ if api.properties.get('patch_storage') == 'gerrit':
+ properties['patch_storage'] = api.properties['patch_storage']
+ properties['repository'] = api.properties['repository']
+ properties['event.patchSet.ref'] = api.properties['event.patchSet.ref']
+ properties['event.change.number'] = api.properties['event.change.number']
+ else:
+ properties['issue'] = str(api.properties['issue'])
+ properties['patchset'] = str(api.properties['patchset'])
+ properties['rietveld'] = api.properties['rietveld']
extra_args = [
'--workdir', '../../..',
@@ -418,6 +424,13 @@ def gsutil_env(api, boto_file):
'BOTO_CONFIG': boto_path}
+def get_issue_num(api):
+ if api.properties.get('patch_storage') == 'gerrit':
+ return str(api.properties['event.change.number'])
+ else:
+ return str(api.properties['issue'])
+
+
def perf_steps_trigger(api, builder_cfg, got_revision, infrabots_dir,
extra_hashes, cipd_packages):
"""Trigger perf tests via Swarming."""
@@ -468,7 +481,7 @@ def perf_steps_collect(api, task, got_revision, is_trybot):
upload_args = [api.properties['buildername'], api.properties['buildnumber'],
perf_data_dir, got_revision, gsutil_path]
if is_trybot:
- upload_args.append(api.properties['issue'])
+ upload_args.append(get_issue_num(api))
borenet 2016/08/23 18:45:33 I'm just realizing that it's weird we don't includ
rmistry 2016/08/23 19:04:37 We do include the patchset in the DM and nanobench
borenet 2016/08/23 19:06:29 Gotcha.
api.python(
'Upload perf results',
script=api.core.resource('upload_bench_results.py'),
@@ -520,7 +533,7 @@ def test_steps_collect(api, task, got_revision, is_trybot, builder_cfg):
got_revision,
api.properties['buildername'],
api.properties['buildnumber'],
- api.properties['issue'] if is_trybot else '',
+ get_issue_num(api) if is_trybot else '',
api.path['slave_build'].join('skia', 'common', 'py', 'utils'),
],
cwd=api.path['checkout'],
@@ -546,8 +559,7 @@ def upload_coverage_results(api, task, got_revision, is_trybot):
api.properties['buildername'],
str(api.properties['buildnumber'])))
if is_trybot:
- gs_json_path = '/'.join(('trybot', gs_json_path,
- str(api.properties['issue'])))
+ gs_json_path = '/'.join(('trybot', gs_json_path, get_issue_num(api)))
api.gsutil.upload(
name='upload raw coverage data',
source=cov_file,
@@ -572,7 +584,7 @@ def upload_coverage_results(api, task, got_revision, is_trybot):
upload_args = [api.properties['buildername'], api.properties['buildnumber'],
results_dir, got_revision, gsutil_path]
if is_trybot:
- upload_args.append(api.properties['issue'])
+ upload_args.append(get_issue_num(api))
api.python(
'upload nanobench coverage results',
script=api.core.resource('upload_bench_results.py'),
@@ -773,3 +785,24 @@ def GenTests(api):
for slavename, builders_by_slave in slaves.iteritems():
for builder in builders_by_slave:
yield test_for_bot(api, builder, mastername, slavename)
+
+ gerrit_kwargs = {
+ 'patch_storage': 'gerrit',
+ 'repository': 'skia',
+ 'event.patchSet.ref': 'refs/changes/00/2100/2',
+ 'event.change.number': '2100',
+ }
+ yield (
+ api.test('recipe_with_gerrit_patch') +
+ api.properties(
+ buildername='Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-Trybot',
+ mastername='client.skia',
+ slavename='skiabot-linux-swarm-000',
+ buildnumber=5,
+ path_config='kitchen',
+ revision='abc123',
+ **gerrit_kwargs) +
+ api.step_data(
+ 'upload new .isolated file for test_skia',
+ stdout=api.raw_io.output('def456 XYZ.isolated'))
+ )

Powered by Google App Engine
This is Rietveld 408576698