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

Side by Side Diff: scripts/slave/recipes/android/builder.py

Issue 1777863005: Recipe changes to move webview perf bots to the android/perf recipe (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Rebase. Created 4 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 from contextlib import contextmanager 5 from contextlib import contextmanager
6 from recipe_engine import recipe_api 6 from recipe_engine import recipe_api
7 from recipe_engine.types import freeze 7 from recipe_engine.types import freeze
8 8
9 DEPS = [ 9 DEPS = [
10 'chromium', 10 'chromium',
11 'chromium_android', 11 'chromium_android',
12 'depot_tools/bot_update', 12 'depot_tools/bot_update',
13 'depot_tools/gclient', 13 'depot_tools/gclient',
14 'recipe_engine/path', 14 'recipe_engine/path',
15 'recipe_engine/properties', 15 'recipe_engine/properties',
16 'recipe_engine/step', 16 'recipe_engine/step',
17 'depot_tools/tryserver', 17 'depot_tools/tryserver',
18 'trigger',
18 ] 19 ]
19 20
20 @contextmanager 21 @contextmanager
21 def FYIStep(): 22 def FYIStep():
22 try: 23 try:
23 yield 24 yield
24 except recipe_api.StepFailure: 25 except recipe_api.StepFailure:
25 pass 26 pass
26 27
27 BUILDERS = freeze({ 28 BUILDERS = freeze({
(...skipping 29 matching lines...) Expand all
57 'run_mb': True, 58 'run_mb': True,
58 'targets': [ 59 'targets': [
59 'android_tools', 60 'android_tools',
60 'cc_perftests', 61 'cc_perftests',
61 'chrome_public_apk', 62 'chrome_public_apk',
62 'gpu_perftests', 63 'gpu_perftests',
63 'push_apps_to_background_apk', 64 'push_apps_to_background_apk',
64 'system_webview_apk', 65 'system_webview_apk',
65 'system_webview_shell_apk', 66 'system_webview_shell_apk',
66 ], 67 ],
68 'triggers': [
69 {
70 'buildername': 'WebView Nexus5 Perf (1)',
71 'mastername': 'master.chromium.perf.fyi',
72 },
73 {
74 'buildername': 'WebView Nexus5X Perf (1)',
75 'mastername': 'master.chromium.perf.fyi',
76 },
77 {
78 'buildername': 'WebView Nexus5X Perf (2)',
79 'mastername': 'master.chromium.perf.fyi',
80 }
81 ]
67 }, 82 },
68 'Android arm64 Builder': { 83 'Android arm64 Builder': {
69 'recipe_config': 'arm64_builder_rel_mb', 84 'recipe_config': 'arm64_builder_rel_mb',
70 'gclient_apply_config': ['android', 'perf'], 85 'gclient_apply_config': ['android', 'perf'],
71 'kwargs': { 86 'kwargs': {
72 'BUILD_CONFIG': 'Release', 87 'BUILD_CONFIG': 'Release',
73 }, 88 },
74 'upload': { 89 'upload': {
75 'bucket': 'chrome-perf', 90 'bucket': 'chrome-perf',
76 'path': lambda api: ( 91 'path': lambda api: (
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 207
193 upload_config = bot_config.get('upload') 208 upload_config = bot_config.get('upload')
194 if upload_config: 209 if upload_config:
195 droid.upload_build(upload_config['bucket'], 210 droid.upload_build(upload_config['bucket'],
196 upload_config['path'](api)) 211 upload_config['path'](api))
197 212
198 upload_config = bot_config.get('zip_and_upload') 213 upload_config = bot_config.get('zip_and_upload')
199 if upload_config: 214 if upload_config:
200 droid.zip_and_upload_build(upload_config['bucket']) 215 droid.zip_and_upload_build(upload_config['bucket'])
201 216
217 # TODO(mikecase): Remove this logic once WebView bots are on chromium.perf
218 if bot_config.get('triggers'):
219 api.trigger(*[{'bucket': b['mastername'],
220 'buildername': b['buildername'],
221 'mastername': b['mastername'],
222 'revision': api.properties['revision']}
nodir 2016/04/20 18:03:40 The structure of this dict should be something lik
223 for b in bot_config['triggers']])
202 224
203 def RunSteps(api, mastername, buildername, revision): 225 def RunSteps(api, mastername, buildername, revision):
204 with api.tryserver.set_failure_hash(): 226 with api.tryserver.set_failure_hash():
205 return _RunStepsInternal(api, mastername, buildername, revision) 227 return _RunStepsInternal(api, mastername, buildername, revision)
206 228
207 229
208 def _sanitize_nonalpha(text): 230 def _sanitize_nonalpha(text):
209 return ''.join(c if c.isalnum() else '_' for c in text) 231 return ''.join(c if c.isalnum() else '_' for c in text)
210 232
211 233
(...skipping 22 matching lines...) Expand all
234 '_'.join(_sanitize_nonalpha(step) for step in steps))) + 256 '_'.join(_sanitize_nonalpha(step) for step in steps))) +
235 props(mastername=mastername, buildername=buildername) + 257 props(mastername=mastername, buildername=buildername) +
236 reduce(lambda a, b: a + b, 258 reduce(lambda a, b: a + b,
237 (api.step_data(step, retcode=1) for step in steps)) 259 (api.step_data(step, retcode=1) for step in steps))
238 ) 260 )
239 261
240 yield step_failure(mastername='chromium.android', 262 yield step_failure(mastername='chromium.android',
241 buildername='Android x64 Builder (dbg)', 263 buildername='Android x64 Builder (dbg)',
242 steps=['check licenses']) 264 steps=['check licenses'])
243 265
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698