| 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..5bcfda43e77ec6e356c5ba95c85bcec8d1fa90bb 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,16 @@ def gsutil_env(api, boto_file):
|
| 'BOTO_CONFIG': boto_path}
|
|
|
|
|
| +def get_issue_num(api, builder_cfg):
|
| + if not builder_cfg['is_trybot']:
|
| + return ''
|
| + if api.properties.get('patch_storage') == 'gerrit':
|
| + # TODO(rmistry): Figure out what to do for Gerrit here.
|
| + return ''
|
| + 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."""
|
| @@ -440,7 +456,7 @@ def perf_steps_trigger(api, builder_cfg, got_revision, infrabots_dir,
|
| cipd_packages=cipd_packages)
|
|
|
|
|
| -def perf_steps_collect(api, task, got_revision, is_trybot):
|
| +def perf_steps_collect(api, task, got_revision, is_trybot, builder_cfg):
|
| """Wait for perf steps to finish and upload results."""
|
| # Wait for nanobench to finish, download the results.
|
| api.run.rmtree(task.task_output_dir)
|
| @@ -468,7 +484,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, builder_cfg))
|
| api.python(
|
| 'Upload perf results',
|
| script=api.core.resource('upload_bench_results.py'),
|
| @@ -520,7 +536,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, builder_cfg),
|
| api.path['slave_build'].join('skia', 'common', 'py', 'utils'),
|
| ],
|
| cwd=api.path['checkout'],
|
| @@ -528,10 +544,10 @@ def test_steps_collect(api, task, got_revision, is_trybot, builder_cfg):
|
| infra_step=True)
|
|
|
| if builder_cfg['configuration'] == 'Coverage':
|
| - upload_coverage_results(api, task, got_revision, is_trybot)
|
| + upload_coverage_results(api, task, got_revision, is_trybot, builder_cfg)
|
|
|
|
|
| -def upload_coverage_results(api, task, got_revision, is_trybot):
|
| +def upload_coverage_results(api, task, got_revision, is_trybot, builder_cfg):
|
| results_dir = task.task_output_dir.join('0')
|
| git_timestamp = api.git.get_timestamp(test_data='1408633190',
|
| infra_step=True)
|
| @@ -547,7 +563,7 @@ def upload_coverage_results(api, task, got_revision, is_trybot):
|
| str(api.properties['buildnumber'])))
|
| if is_trybot:
|
| gs_json_path = '/'.join(('trybot', gs_json_path,
|
| - str(api.properties['issue'])))
|
| + get_issue_num(api, builder_cfg)))
|
| api.gsutil.upload(
|
| name='upload raw coverage data',
|
| source=cov_file,
|
| @@ -572,7 +588,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, builder_cfg))
|
| api.python(
|
| 'upload nanobench coverage results',
|
| script=api.core.resource('upload_bench_results.py'),
|
| @@ -713,7 +729,7 @@ def RunSteps(api):
|
|
|
| if perf_task:
|
| perf_steps_collect(api, perf_task,
|
| - got_revision, is_trybot)
|
| + got_revision, is_trybot, builder_cfg)
|
|
|
|
|
| def test_for_bot(api, builder, mastername, slavename, testname=None):
|
| @@ -773,3 +789,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'))
|
| + )
|
|
|