Index: infra/bots/recipes/swarm_perf.py |
diff --git a/infra/bots/recipes/swarm_perf.py b/infra/bots/recipes/swarm_perf.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8fda6f04af99379d4dccf071dcde0a3e698e224f |
--- /dev/null |
+++ b/infra/bots/recipes/swarm_perf.py |
@@ -0,0 +1,119 @@ |
+# 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 module for Skia Swarming perf. |
+ |
+ |
+DEPS = [ |
+ 'recipe_engine/json', |
+ 'recipe_engine/path', |
+ 'recipe_engine/platform', |
+ 'recipe_engine/properties', |
+ 'recipe_engine/raw_io', |
+ 'skia', |
+] |
+ |
+ |
+TEST_BUILDERS = { |
+ 'client.skia': { |
+ 'skiabot-linux-swarm-000': [ |
+ 'Perf-Win-MSVC-GCE-CPU-AVX2-x86_64-Release', |
+ 'Perf-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Release-Trybot', |
+ 'Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind', |
+ 'Perf-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release', |
+ 'Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-VisualBench', |
+ ], |
+ }, |
+} |
+ |
+ |
+def RunSteps(api): |
+ api.skia.setup() |
+ api.skia.perf_steps() |
+ api.skia.cleanup_steps() |
+ api.skia.check_failure() |
+ |
+ |
+def GenTests(api): |
+ def AndroidTestData(builder): |
+ test_data = ( |
+ api.step_data( |
+ 'get EXTERNAL_STORAGE dir', |
+ stdout=api.raw_io.output('/storage/emulated/legacy')) + |
+ api.step_data( |
+ 'adb root', |
+ stdout=api.raw_io.output('restarting adbd as root')) + |
+ api.step_data( |
+ 'read SKP_VERSION', |
+ stdout=api.raw_io.output('42')) + |
+ api.step_data( |
+ 'read SK_IMAGE_VERSION', |
+ stdout=api.raw_io.output('42')) + |
+ api.step_data( |
+ 'exists skia_perf', |
+ stdout=api.raw_io.output('')) + |
+ api.step_data( |
+ 'which adb', |
+ retcode=1) |
+ ) |
+ return test_data |
+ |
+ for mastername, slaves in TEST_BUILDERS.iteritems(): |
+ for slavename, builders_by_slave in slaves.iteritems(): |
+ for builder in builders_by_slave: |
+ test = ( |
+ api.test(builder) + |
+ api.properties(buildername=builder, |
+ mastername=mastername, |
+ slavename=slavename, |
+ buildnumber=5, |
+ revision='abc123', |
+ path_config='kitchen', |
+ swarm_out_dir='[SWARM_OUT_DIR]') + |
+ api.path.exists( |
+ api.path['slave_build'].join('skia'), |
+ api.path['slave_build'].join('skia', 'infra', 'bots', 'assets', |
+ 'skimage', 'VERSION'), |
+ api.path['slave_build'].join('skia', 'infra', 'bots', 'assets', |
+ 'skp', 'VERSION'), |
+ api.path['slave_build'].join('tmp', 'uninteresting_hashes.txt') |
+ ) |
+ ) |
+ if ('Android' in builder and |
+ ('Test' in builder or 'Perf' in builder) and |
+ not 'Appurify' in builder): |
+ test += AndroidTestData(builder) |
+ if 'Trybot' in builder: |
+ test += api.properties(issue=500, |
+ patchset=1, |
+ rietveld='https://codereview.chromium.org') |
+ if 'Win' in builder: |
+ test += api.platform('win', 64) |
+ |
+ yield test |
+ |
+ builder = 'Perf-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Release-Trybot' |
+ yield ( |
+ api.test('big_issue_number') + |
+ api.properties(buildername=builder, |
+ mastername='client.skia.compile', |
+ slavename='skiabot-linux-swarm-000', |
+ buildnumber=5, |
+ revision='abc123', |
+ path_config='kitchen', |
+ swarm_out_dir='[SWARM_OUT_DIR]', |
+ rietveld='https://codereview.chromium.org', |
+ patchset=1, |
+ issue=2147533002L) + |
+ api.path.exists( |
+ api.path['slave_build'].join('skia'), |
+ api.path['slave_build'].join('skia', 'infra', 'bots', 'assets', |
+ 'skimage', 'VERSION'), |
+ api.path['slave_build'].join('skia', 'infra', 'bots', 'assets', |
+ 'skp', 'VERSION'), |
+ api.path['slave_build'].join('tmp', 'uninteresting_hashes.txt') |
+ ) + |
+ api.platform('win', 64) |
+ ) |