borenet | 1ed2ae4 | 2016-07-26 11:52:17 -0700 | [diff] [blame] | 1 | # Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 | # Use of this source code is governed by a BSD-style license that can be |
| 3 | # found in the LICENSE file. |
| 4 | |
| 5 | |
| 6 | # Recipe module for Skia Swarming perf. |
| 7 | |
| 8 | |
| 9 | DEPS = [ |
borenet | bc20a70 | 2016-08-03 10:38:44 -0700 | [diff] [blame] | 10 | 'build/file', |
borenet | 1436a09 | 2016-08-03 08:23:10 -0700 | [diff] [blame] | 11 | 'core', |
borenet | 1ed2ae4 | 2016-07-26 11:52:17 -0700 | [diff] [blame] | 12 | 'recipe_engine/json', |
| 13 | 'recipe_engine/path', |
| 14 | 'recipe_engine/platform', |
| 15 | 'recipe_engine/properties', |
| 16 | 'recipe_engine/raw_io', |
borenet | 8b5ec39 | 2016-09-26 10:25:32 -0700 | [diff] [blame] | 17 | 'recipe_engine/time', |
borenet | 1436a09 | 2016-08-03 08:23:10 -0700 | [diff] [blame] | 18 | 'run', |
borenet | bc20a70 | 2016-08-03 10:38:44 -0700 | [diff] [blame] | 19 | 'flavor', |
| 20 | 'vars', |
borenet | 1ed2ae4 | 2016-07-26 11:52:17 -0700 | [diff] [blame] | 21 | ] |
| 22 | |
| 23 | |
| 24 | TEST_BUILDERS = { |
| 25 | 'client.skia': { |
| 26 | 'skiabot-linux-swarm-000': [ |
mtklein | 122fac3 | 2016-09-19 07:26:41 -0700 | [diff] [blame] | 27 | ('Perf-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug' + |
| 28 | '-GN_Android_Vulkan'), |
| 29 | 'Perf-Android-Clang-Nexus5-GPU-Adreno330-arm-Debug-GN_Android', |
| 30 | 'Perf-Android-Clang-Nexus6-GPU-Adreno420-arm-Release-GN_Android', |
| 31 | 'Perf-Android-Clang-Nexus7-GPU-Tegra3-arm-Release-GN_Android', |
| 32 | 'Perf-Android-Clang-NexusPlayer-GPU-PowerVR-x86-Release-GN_Android', |
Ben Wagner | 2550958 | 2016-11-04 11:31:05 -0400 | [diff] [blame] | 33 | 'Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-GN_Android', |
borenet | 2c3112d | 2016-08-05 06:30:10 -0700 | [diff] [blame] | 34 | 'Perf-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release-GN', |
mtklein | 90939aa | 2016-09-22 06:50:24 -0700 | [diff] [blame] | 35 | 'Perf-Mac-Clang-MacMini6.2-GPU-HD4000-x86_64-Debug-CommandBuffer', |
mtklein | 2b3c2a3 | 2016-09-08 08:39:34 -0700 | [diff] [blame] | 36 | 'Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-GN', |
borenet | e2251ac | 2016-08-05 05:40:59 -0700 | [diff] [blame] | 37 | 'Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind', |
Brian Salomon | f61abec | 2016-10-14 15:41:54 -0400 | [diff] [blame] | 38 | 'Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-ANGLE', |
borenet | f5b675e | 2016-08-01 05:08:52 -0700 | [diff] [blame] | 39 | 'Perf-Win-MSVC-GCE-CPU-AVX2-x86_64-Debug', |
mtklein | 2b3c2a3 | 2016-09-08 08:39:34 -0700 | [diff] [blame] | 40 | 'Perf-Win-MSVC-GCE-CPU-AVX2-x86_64-Release', |
borenet | 1ed2ae4 | 2016-07-26 11:52:17 -0700 | [diff] [blame] | 41 | 'Perf-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Release-Trybot', |
bsalomon | 11abd8d | 2016-10-14 08:13:48 -0700 | [diff] [blame] | 42 | 'Perf-Win8-MSVC-ShuttleB-GPU-GTX960-x86_64-Debug-ANGLE', |
mtklein | 2b3c2a3 | 2016-09-08 08:39:34 -0700 | [diff] [blame] | 43 | 'Perf-iOS-Clang-iPad4-GPU-SGX554-Arm7-Debug', |
borenet | 1ed2ae4 | 2016-07-26 11:52:17 -0700 | [diff] [blame] | 44 | ], |
| 45 | }, |
| 46 | } |
| 47 | |
| 48 | |
borenet | 2dbbfa5 | 2016-10-14 06:32:09 -0700 | [diff] [blame] | 49 | import calendar |
borenet | 8b5ec39 | 2016-09-26 10:25:32 -0700 | [diff] [blame] | 50 | |
| 51 | |
borenet | e2251ac | 2016-08-05 05:40:59 -0700 | [diff] [blame] | 52 | def nanobench_flags(bot): |
| 53 | args = ['--pre_log'] |
| 54 | |
| 55 | if 'GPU' in bot: |
| 56 | args.append('--images') |
| 57 | args.extend(['--gpuStatsDump', 'true']) |
| 58 | |
| 59 | if 'Android' in bot and 'GPU' in bot: |
| 60 | args.extend(['--useThermalManager', '1,1,10,1000']) |
| 61 | |
| 62 | args.extend(['--scales', '1.0', '1.1']) |
| 63 | |
| 64 | if 'iOS' in bot: |
borenet | 2c3112d | 2016-08-05 06:30:10 -0700 | [diff] [blame] | 65 | args.extend(['--skps', 'ignore_skps']) |
borenet | e2251ac | 2016-08-05 05:40:59 -0700 | [diff] [blame] | 66 | |
bsalomon | 11abd8d | 2016-10-14 08:13:48 -0700 | [diff] [blame] | 67 | config = ['8888', 'gpu', 'nonrendering', 'hwui' ] |
mtklein | df5df81 | 2016-09-12 12:24:38 -0700 | [diff] [blame] | 68 | if 'AndroidOne' not in bot: |
| 69 | config += [ 'f16', 'srgb' ] |
mtklein | 896ddb7 | 2016-09-14 10:33:12 -0700 | [diff] [blame] | 70 | if '-GCE-' in bot: |
| 71 | config += [ '565' ] |
Ben Wagner | 5224515 | 2016-11-02 13:11:05 -0400 | [diff] [blame] | 72 | # The NP produces a long error stream when we run with MSAA. |
| 73 | if 'NexusPlayer' not in bot: |
borenet | e2251ac | 2016-08-05 05:40:59 -0700 | [diff] [blame] | 74 | if 'Android' in bot: |
Ben Wagner | 2550958 | 2016-11-04 11:31:05 -0400 | [diff] [blame] | 75 | # The NVIDIA_Shield has a regular OpenGL implementation. We bench that |
| 76 | # instead of ES. |
| 77 | if 'NVIDIA_Shield' in bot: |
borenet | e2251ac | 2016-08-05 05:40:59 -0700 | [diff] [blame] | 78 | config.remove('gpu') |
| 79 | config.extend(['gl', 'glmsaa4', 'glnvpr4', 'glnvprdit4']) |
| 80 | else: |
| 81 | config.extend(['msaa4', 'nvpr4', 'nvprdit4']) |
| 82 | else: |
| 83 | config.extend(['msaa16', 'nvpr16', 'nvprdit16']) |
| 84 | |
| 85 | # Bench instanced rendering on a limited number of platforms |
borenet | 2c3112d | 2016-08-05 06:30:10 -0700 | [diff] [blame] | 86 | if 'Nexus6' in bot: |
borenet | e2251ac | 2016-08-05 05:40:59 -0700 | [diff] [blame] | 87 | config.append('esinst') # esinst4 isn't working yet on Adreno. |
Ben Wagner | 2550958 | 2016-11-04 11:31:05 -0400 | [diff] [blame] | 88 | elif 'PixelC' in bot: |
| 89 | config.extend(['esinst', 'esinst4']) |
| 90 | elif 'NVIDIA_Shield' in bot: |
borenet | 2c3112d | 2016-08-05 06:30:10 -0700 | [diff] [blame] | 91 | config.extend(['glinst', 'glinst4']) |
borenet | e2251ac | 2016-08-05 05:40:59 -0700 | [diff] [blame] | 92 | elif 'MacMini6.2' in bot: |
borenet | 2c3112d | 2016-08-05 06:30:10 -0700 | [diff] [blame] | 93 | config.extend(['glinst', 'glinst16']) |
borenet | e2251ac | 2016-08-05 05:40:59 -0700 | [diff] [blame] | 94 | |
mtklein | 90939aa | 2016-09-22 06:50:24 -0700 | [diff] [blame] | 95 | if 'CommandBuffer' in bot: |
| 96 | config = ['commandbuffer'] |
borenet | e2251ac | 2016-08-05 05:40:59 -0700 | [diff] [blame] | 97 | if 'Vulkan' in bot: |
borenet | 2c3112d | 2016-08-05 06:30:10 -0700 | [diff] [blame] | 98 | config = ['vk'] |
borenet | e2251ac | 2016-08-05 05:40:59 -0700 | [diff] [blame] | 99 | |
bsalomon | 11abd8d | 2016-10-14 08:13:48 -0700 | [diff] [blame] | 100 | if 'ANGLE' in bot: |
Brian Salomon | f61abec | 2016-10-14 15:41:54 -0400 | [diff] [blame] | 101 | config.extend(['angle_d3d11_es2']) |
| 102 | # The GL backend of ANGLE crashes on the perf bot currently. |
| 103 | if 'Win' not in bot: |
| 104 | config.extend(['angle_gl_es2']) |
bsalomon | 11abd8d | 2016-10-14 08:13:48 -0700 | [diff] [blame] | 105 | |
borenet | e2251ac | 2016-08-05 05:40:59 -0700 | [diff] [blame] | 106 | args.append('--config') |
| 107 | args.extend(config) |
| 108 | |
| 109 | if 'Valgrind' in bot: |
| 110 | # Don't care about Valgrind performance. |
| 111 | args.extend(['--loops', '1']) |
| 112 | args.extend(['--samples', '1']) |
| 113 | # Ensure that the bot framework does not think we have timed out. |
| 114 | args.extend(['--keepAlive', 'true']) |
| 115 | |
| 116 | match = [] |
| 117 | if 'Android' in bot: |
| 118 | # Segfaults when run as GPU bench. Very large texture? |
| 119 | match.append('~blurroundrect') |
| 120 | match.append('~patch_grid') # skia:2847 |
| 121 | match.append('~desk_carsvg') |
| 122 | if 'NexusPlayer' in bot: |
borenet | 2c3112d | 2016-08-05 06:30:10 -0700 | [diff] [blame] | 123 | match.append('~desk_unicodetable') |
| 124 | if 'Nexus5' in bot: |
borenet | e2251ac | 2016-08-05 05:40:59 -0700 | [diff] [blame] | 125 | match.append('~keymobi_shop_mobileweb_ebay_com.skp') # skia:5178 |
borenet | 2c3112d | 2016-08-05 06:30:10 -0700 | [diff] [blame] | 126 | if 'iOS' in bot: |
borenet | e2251ac | 2016-08-05 05:40:59 -0700 | [diff] [blame] | 127 | match.append('~blurroundrect') |
| 128 | match.append('~patch_grid') # skia:2847 |
| 129 | match.append('~desk_carsvg') |
| 130 | match.append('~keymobi') |
| 131 | match.append('~path_hairline') |
| 132 | match.append('~GLInstancedArraysBench') # skia:4714 |
| 133 | |
borenet | e2251ac | 2016-08-05 05:40:59 -0700 | [diff] [blame] | 134 | # We do not need or want to benchmark the decodes of incomplete images. |
| 135 | # In fact, in nanobench we assert that the full image decode succeeds. |
| 136 | match.append('~inc0.gif') |
| 137 | match.append('~inc1.gif') |
| 138 | match.append('~incInterlaced.gif') |
| 139 | match.append('~inc0.jpg') |
| 140 | match.append('~incGray.jpg') |
| 141 | match.append('~inc0.wbmp') |
| 142 | match.append('~inc1.wbmp') |
| 143 | match.append('~inc0.webp') |
| 144 | match.append('~inc1.webp') |
| 145 | match.append('~inc0.ico') |
| 146 | match.append('~inc1.ico') |
| 147 | match.append('~inc0.png') |
| 148 | match.append('~inc1.png') |
| 149 | match.append('~inc2.png') |
| 150 | match.append('~inc12.png') |
| 151 | match.append('~inc13.png') |
| 152 | match.append('~inc14.png') |
| 153 | match.append('~inc0.webp') |
| 154 | match.append('~inc1.webp') |
| 155 | |
| 156 | if match: |
| 157 | args.append('--match') |
| 158 | args.extend(match) |
| 159 | |
| 160 | return args |
| 161 | |
| 162 | |
borenet | bc20a70 | 2016-08-03 10:38:44 -0700 | [diff] [blame] | 163 | def perf_steps(api): |
| 164 | """Run Skia benchmarks.""" |
| 165 | if api.vars.upload_perf_results: |
| 166 | api.flavor.create_clean_device_dir( |
| 167 | api.flavor.device_dirs.perf_data_dir) |
| 168 | |
| 169 | # Run nanobench. |
| 170 | properties = [ |
| 171 | '--properties', |
| 172 | 'gitHash', api.vars.got_revision, |
| 173 | 'build_number', api.vars.build_number, |
| 174 | ] |
| 175 | if api.vars.is_trybot: |
| 176 | properties.extend([ |
| 177 | 'issue', api.vars.issue, |
| 178 | 'patchset', api.vars.patchset, |
rmistry | 3f1c9c0 | 2016-08-24 05:07:06 -0700 | [diff] [blame] | 179 | 'patch_storage', api.vars.patch_storage, |
borenet | bc20a70 | 2016-08-03 10:38:44 -0700 | [diff] [blame] | 180 | ]) |
borenet | bfa5b45 | 2016-10-19 10:13:32 -0700 | [diff] [blame] | 181 | if api.vars.no_buildbot: |
| 182 | properties.extend(['no_buildbot', 'True']) |
| 183 | properties.extend(['swarming_bot_id', api.vars.swarming_bot_id]) |
| 184 | properties.extend(['swarming_task_id', api.vars.swarming_task_id]) |
borenet | bc20a70 | 2016-08-03 10:38:44 -0700 | [diff] [blame] | 185 | |
| 186 | target = 'nanobench' |
borenet | bc20a70 | 2016-08-03 10:38:44 -0700 | [diff] [blame] | 187 | args = [ |
| 188 | target, |
| 189 | '--undefok', # This helps branches that may not know new flags. |
| 190 | '-i', api.flavor.device_dirs.resource_dir, |
| 191 | '--skps', api.flavor.device_dirs.skp_dir, |
| 192 | '--images', api.flavor.device_path_join( |
| 193 | api.flavor.device_dirs.images_dir, 'nanobench'), |
| 194 | ] |
| 195 | |
stephana | 7fbacbb | 2016-10-07 06:36:16 -0700 | [diff] [blame] | 196 | # Do not run svgs on Valgrind. |
| 197 | if 'Valgrind' not in api.vars.builder_name: |
| 198 | args.extend(['--svgs', api.flavor.device_dirs.svg_dir]) |
| 199 | |
borenet | bc20a70 | 2016-08-03 10:38:44 -0700 | [diff] [blame] | 200 | skip_flag = None |
| 201 | if api.vars.builder_cfg.get('cpu_or_gpu') == 'CPU': |
| 202 | skip_flag = '--nogpu' |
| 203 | elif api.vars.builder_cfg.get('cpu_or_gpu') == 'GPU': |
| 204 | skip_flag = '--nocpu' |
| 205 | if skip_flag: |
| 206 | args.append(skip_flag) |
borenet | e2251ac | 2016-08-05 05:40:59 -0700 | [diff] [blame] | 207 | args.extend(nanobench_flags(api.vars.builder_name)) |
borenet | bc20a70 | 2016-08-03 10:38:44 -0700 | [diff] [blame] | 208 | |
| 209 | if api.vars.upload_perf_results: |
borenet | 8b5ec39 | 2016-09-26 10:25:32 -0700 | [diff] [blame] | 210 | now = api.time.utcnow() |
borenet | 2dbbfa5 | 2016-10-14 06:32:09 -0700 | [diff] [blame] | 211 | ts = int(calendar.timegm(now.utctimetuple())) |
borenet | bc20a70 | 2016-08-03 10:38:44 -0700 | [diff] [blame] | 212 | json_path = api.flavor.device_path_join( |
| 213 | api.flavor.device_dirs.perf_data_dir, |
borenet | 8b5ec39 | 2016-09-26 10:25:32 -0700 | [diff] [blame] | 214 | 'nanobench_%s_%d.json' % (api.vars.got_revision, ts)) |
borenet | bc20a70 | 2016-08-03 10:38:44 -0700 | [diff] [blame] | 215 | args.extend(['--outResultsFile', json_path]) |
| 216 | args.extend(properties) |
| 217 | |
| 218 | keys_blacklist = ['configuration', 'role', 'is_trybot'] |
| 219 | args.append('--key') |
| 220 | for k in sorted(api.vars.builder_cfg.keys()): |
| 221 | if not k in keys_blacklist: |
| 222 | args.extend([k, api.vars.builder_cfg[k]]) |
| 223 | |
| 224 | api.run(api.flavor.step, target, cmd=args, |
borenet | d460a3c | 2016-08-05 05:18:05 -0700 | [diff] [blame] | 225 | abort_on_failure=False, |
| 226 | env=api.vars.default_env) |
borenet | bc20a70 | 2016-08-03 10:38:44 -0700 | [diff] [blame] | 227 | |
| 228 | # See skia:2789. |
| 229 | if ('Valgrind' in api.vars.builder_name and |
| 230 | api.vars.builder_cfg.get('cpu_or_gpu') == 'GPU'): |
| 231 | abandonGpuContext = list(args) |
| 232 | abandonGpuContext.extend(['--abandonGpuContext', '--nocpu']) |
| 233 | api.run(api.flavor.step, |
borenet | d460a3c | 2016-08-05 05:18:05 -0700 | [diff] [blame] | 234 | '%s --abandonGpuContext' % target, |
| 235 | cmd=abandonGpuContext, abort_on_failure=False, |
| 236 | env=api.vars.default_env) |
borenet | bc20a70 | 2016-08-03 10:38:44 -0700 | [diff] [blame] | 237 | |
| 238 | # Copy results to swarming out dir. |
| 239 | if api.vars.upload_perf_results: |
| 240 | api.file.makedirs('perf_dir', api.vars.perf_data_dir) |
| 241 | api.flavor.copy_directory_contents_to_host( |
| 242 | api.flavor.device_dirs.perf_data_dir, |
| 243 | api.vars.perf_data_dir) |
| 244 | |
| 245 | |
borenet | 1ed2ae4 | 2016-07-26 11:52:17 -0700 | [diff] [blame] | 246 | def RunSteps(api): |
borenet | 1436a09 | 2016-08-03 08:23:10 -0700 | [diff] [blame] | 247 | api.core.setup() |
mtklein | df5df81 | 2016-09-12 12:24:38 -0700 | [diff] [blame] | 248 | try: |
Kevin Lubick | b03b5ac | 2016-11-14 13:42:27 -0500 | [diff] [blame] | 249 | api.flavor.install_everything() |
mtklein | df5df81 | 2016-09-12 12:24:38 -0700 | [diff] [blame] | 250 | perf_steps(api) |
| 251 | finally: |
| 252 | api.flavor.cleanup_steps() |
borenet | 1436a09 | 2016-08-03 08:23:10 -0700 | [diff] [blame] | 253 | api.run.check_failure() |
borenet | 1ed2ae4 | 2016-07-26 11:52:17 -0700 | [diff] [blame] | 254 | |
| 255 | |
| 256 | def GenTests(api): |
borenet | 1ed2ae4 | 2016-07-26 11:52:17 -0700 | [diff] [blame] | 257 | for mastername, slaves in TEST_BUILDERS.iteritems(): |
| 258 | for slavename, builders_by_slave in slaves.iteritems(): |
| 259 | for builder in builders_by_slave: |
| 260 | test = ( |
| 261 | api.test(builder) + |
| 262 | api.properties(buildername=builder, |
| 263 | mastername=mastername, |
| 264 | slavename=slavename, |
| 265 | buildnumber=5, |
| 266 | revision='abc123', |
| 267 | path_config='kitchen', |
| 268 | swarm_out_dir='[SWARM_OUT_DIR]') + |
| 269 | api.path.exists( |
Ravi Mistry | 9bcca6a | 2016-11-21 16:06:19 -0500 | [diff] [blame^] | 270 | api.path['start_dir'].join('skia'), |
| 271 | api.path['start_dir'].join('skia', 'infra', 'bots', 'assets', |
borenet | 1ed2ae4 | 2016-07-26 11:52:17 -0700 | [diff] [blame] | 272 | 'skimage', 'VERSION'), |
Ravi Mistry | 9bcca6a | 2016-11-21 16:06:19 -0500 | [diff] [blame^] | 273 | api.path['start_dir'].join('skia', 'infra', 'bots', 'assets', |
borenet | 1ed2ae4 | 2016-07-26 11:52:17 -0700 | [diff] [blame] | 274 | 'skp', 'VERSION'), |
Ravi Mistry | 9bcca6a | 2016-11-21 16:06:19 -0500 | [diff] [blame^] | 275 | api.path['start_dir'].join('tmp', 'uninteresting_hashes.txt') |
borenet | 1ed2ae4 | 2016-07-26 11:52:17 -0700 | [diff] [blame] | 276 | ) |
| 277 | ) |
borenet | 1ed2ae4 | 2016-07-26 11:52:17 -0700 | [diff] [blame] | 278 | if 'Trybot' in builder: |
| 279 | test += api.properties(issue=500, |
| 280 | patchset=1, |
| 281 | rietveld='https://codereview.chromium.org') |
| 282 | if 'Win' in builder: |
| 283 | test += api.platform('win', 64) |
| 284 | |
| 285 | yield test |
| 286 | |
| 287 | builder = 'Perf-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Release-Trybot' |
| 288 | yield ( |
| 289 | api.test('big_issue_number') + |
| 290 | api.properties(buildername=builder, |
| 291 | mastername='client.skia.compile', |
| 292 | slavename='skiabot-linux-swarm-000', |
| 293 | buildnumber=5, |
| 294 | revision='abc123', |
| 295 | path_config='kitchen', |
| 296 | swarm_out_dir='[SWARM_OUT_DIR]', |
| 297 | rietveld='https://codereview.chromium.org', |
| 298 | patchset=1, |
| 299 | issue=2147533002L) + |
| 300 | api.path.exists( |
Ravi Mistry | 9bcca6a | 2016-11-21 16:06:19 -0500 | [diff] [blame^] | 301 | api.path['start_dir'].join('skia'), |
| 302 | api.path['start_dir'].join('skia', 'infra', 'bots', 'assets', |
borenet | 1ed2ae4 | 2016-07-26 11:52:17 -0700 | [diff] [blame] | 303 | 'skimage', 'VERSION'), |
Ravi Mistry | 9bcca6a | 2016-11-21 16:06:19 -0500 | [diff] [blame^] | 304 | api.path['start_dir'].join('skia', 'infra', 'bots', 'assets', |
borenet | 1ed2ae4 | 2016-07-26 11:52:17 -0700 | [diff] [blame] | 305 | 'skp', 'VERSION'), |
Ravi Mistry | 9bcca6a | 2016-11-21 16:06:19 -0500 | [diff] [blame^] | 306 | api.path['start_dir'].join('skia', 'infra', 'bots', 'assets', |
rmistry | bcba19d | 2016-08-11 12:36:58 -0700 | [diff] [blame] | 307 | 'svg', 'VERSION'), |
Ravi Mistry | 9bcca6a | 2016-11-21 16:06:19 -0500 | [diff] [blame^] | 308 | api.path['start_dir'].join('tmp', 'uninteresting_hashes.txt') |
borenet | 1ed2ae4 | 2016-07-26 11:52:17 -0700 | [diff] [blame] | 309 | ) + |
| 310 | api.platform('win', 64) |
| 311 | ) |
rmistry | 3f1c9c0 | 2016-08-24 05:07:06 -0700 | [diff] [blame] | 312 | |
borenet | 96b3842 | 2016-10-27 06:35:51 -0700 | [diff] [blame] | 313 | builder = ('Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind-' |
| 314 | 'Trybot') |
rmistry | 3f1c9c0 | 2016-08-24 05:07:06 -0700 | [diff] [blame] | 315 | yield ( |
| 316 | api.test('recipe_with_gerrit_patch') + |
| 317 | api.properties( |
borenet | 96b3842 | 2016-10-27 06:35:51 -0700 | [diff] [blame] | 318 | buildername=builder, |
rmistry | 3f1c9c0 | 2016-08-24 05:07:06 -0700 | [diff] [blame] | 319 | mastername='client.skia', |
| 320 | slavename='skiabot-linux-swarm-000', |
| 321 | buildnumber=5, |
| 322 | path_config='kitchen', |
| 323 | swarm_out_dir='[SWARM_OUT_DIR]', |
| 324 | revision='abc123', |
borenet | 96b3842 | 2016-10-27 06:35:51 -0700 | [diff] [blame] | 325 | patch_storage='gerrit') + |
| 326 | api.properties.tryserver( |
| 327 | buildername=builder, |
| 328 | gerrit_project='skia', |
| 329 | gerrit_url='https://skia-review.googlesource.com/', |
| 330 | ) |
rmistry | 3f1c9c0 | 2016-08-24 05:07:06 -0700 | [diff] [blame] | 331 | ) |
borenet | bfa5b45 | 2016-10-19 10:13:32 -0700 | [diff] [blame] | 332 | |
borenet | 96b3842 | 2016-10-27 06:35:51 -0700 | [diff] [blame] | 333 | builder = 'Perf-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Release-Trybot' |
borenet | bfa5b45 | 2016-10-19 10:13:32 -0700 | [diff] [blame] | 334 | yield ( |
| 335 | api.test('nobuildbot') + |
borenet | 96b3842 | 2016-10-27 06:35:51 -0700 | [diff] [blame] | 336 | api.properties( |
| 337 | buildername=builder, |
| 338 | mastername='client.skia', |
| 339 | slavename='skiabot-linux-swarm-000', |
| 340 | buildnumber=5, |
| 341 | revision='abc123', |
| 342 | path_config='kitchen', |
| 343 | nobuildbot='True', |
| 344 | swarm_out_dir='[SWARM_OUT_DIR]', |
| 345 | patch_storage='gerrit') + |
| 346 | api.properties.tryserver( |
| 347 | buildername=builder, |
| 348 | gerrit_project='skia', |
| 349 | gerrit_url='https://skia-review.googlesource.com/', |
| 350 | ) + |
borenet | bfa5b45 | 2016-10-19 10:13:32 -0700 | [diff] [blame] | 351 | api.path.exists( |
Ravi Mistry | 9bcca6a | 2016-11-21 16:06:19 -0500 | [diff] [blame^] | 352 | api.path['start_dir'].join('skia'), |
| 353 | api.path['start_dir'].join('skia', 'infra', 'bots', 'assets', |
borenet | bfa5b45 | 2016-10-19 10:13:32 -0700 | [diff] [blame] | 354 | 'skimage', 'VERSION'), |
Ravi Mistry | 9bcca6a | 2016-11-21 16:06:19 -0500 | [diff] [blame^] | 355 | api.path['start_dir'].join('skia', 'infra', 'bots', 'assets', |
borenet | bfa5b45 | 2016-10-19 10:13:32 -0700 | [diff] [blame] | 356 | 'skp', 'VERSION'), |
Ravi Mistry | 9bcca6a | 2016-11-21 16:06:19 -0500 | [diff] [blame^] | 357 | api.path['start_dir'].join('skia', 'infra', 'bots', 'assets', |
borenet | bfa5b45 | 2016-10-19 10:13:32 -0700 | [diff] [blame] | 358 | 'svg', 'VERSION'), |
Ravi Mistry | 9bcca6a | 2016-11-21 16:06:19 -0500 | [diff] [blame^] | 359 | api.path['start_dir'].join('tmp', 'uninteresting_hashes.txt') |
borenet | bfa5b45 | 2016-10-19 10:13:32 -0700 | [diff] [blame] | 360 | ) + |
| 361 | api.platform('win', 64) + |
| 362 | api.step_data('get swarming bot id', |
| 363 | stdout=api.raw_io.output('skia-bot-123')) + |
| 364 | api.step_data('get swarming task id', stdout=api.raw_io.output('123456')) |
| 365 | ) |