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

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

Issue 2364693003: Add swarming task for nanobench upload (Closed)
Patch Set: Add CPU dimension Created 4 years, 3 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/upload_nano_results.py
diff --git a/infra/bots/recipes/upload_nano_results.py b/infra/bots/recipes/upload_nano_results.py
new file mode 100644
index 0000000000000000000000000000000000000000..8cc39be693582c6b810559927a0094f282645b3b
--- /dev/null
+++ b/infra/bots/recipes/upload_nano_results.py
@@ -0,0 +1,73 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+
+# Recipe for uploading nanobench results.
+
+
+DEPS = [
+ 'build/file',
+ 'recipe_engine/path',
+ 'recipe_engine/properties',
+ 'recipe_engine/step',
+ 'recipe_engine/time',
+]
+
+
+def RunSteps(api):
+ # Upload the nanobench resuls.
+ builder_name = api.properties['buildername']
+ issue = str(api.properties.get('issue'))
+ patchset = str(api.properties.get('patchset'))
+
+ now = api.time.utcnow()
+
+ src_path = api.path['cwd'].join(
+ 'perfdata', builder_name, 'data')
+ results = api.file.glob(
+ 'find results',
+ 'nanobench*.json',
+ cwd=src_path,
+ test_data=['nanobench_abc123.json'],
+ infra_step=True)
+ if len(results) != 1: # pragma: nocover
+ raise Exception('Unable to find nanobench JSON file!')
+
+ src = src_path.join(results[0])
+ basename = api.path.basename(src)
+ gs_path = '/'.join((
+ 'nano-json-v1', str(now.year).zfill(4),
+ str(now.month).zfill(2), str(now.day).zfill(2), str(now.hour).zfill(2),
+ builder_name))
+
+ if builder_name.endswith('-Trybot'):
+ if not (issue and patchset): # pragma: nocover
+ raise Exception('issue and patchset properties are required for trybots.')
+ gs_path = '/'.join(('trybot', gs_path, issue, patchset))
+
+ dst = '/'.join(('gs://skia-perf', gs_path, basename))
+
+ api.step('upload',
+ cmd=['gsutil', 'cp', '-a', 'public-read', '-z', 'json', src, dst],
+ infra_step=True)
+
+
+def GenTests(api):
+ builder = 'Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug'
+ yield (
+ api.test('normal_bot') +
+ api.properties(buildername=builder,
+ revision='abc123',
+ path_config='kitchen')
+ )
+
+ builder = 'Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-Trybot'
+ yield (
+ api.test('trybot') +
+ api.properties(buildername=builder,
+ revision='abc123',
+ path_config='kitchen',
+ issue='12345',
+ patchset='1002')
+ )

Powered by Google App Engine
This is Rietveld 408576698