OLD | NEW |
1 # Copyright 2016 The Chromium Authors. All rights reserved. | 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 | 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 | 5 |
6 # Recipe module for Skia Swarming trigger. | 6 # Recipe module for Skia Swarming trigger. |
7 | 7 |
8 | 8 |
9 import os | 9 import os |
10 import json | 10 import json |
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 got_revision, | 290 got_revision, |
291 infrabots_dir, | 291 infrabots_dir, |
292 idempotent=False, | 292 idempotent=False, |
293 store_output=False, | 293 store_output=False, |
294 extra_isolate_hashes=extra_isolate_hashes) | 294 extra_isolate_hashes=extra_isolate_hashes) |
295 return api.swarming.collect_swarming_task(task) | 295 return api.swarming.collect_swarming_task(task) |
296 | 296 |
297 | 297 |
298 def ct_skps_swarm(api, builder_cfg, got_revision, infrabots_dir, | 298 def ct_skps_swarm(api, builder_cfg, got_revision, infrabots_dir, |
299 extra_isolate_hashes): | 299 extra_isolate_hashes): |
| 300 expiration, hard_timeout, io_timeout = get_timeouts(builder_cfg) |
300 task = trigger_task( | 301 task = trigger_task( |
301 api, | 302 api, |
302 'ct_skps', | 303 'ct_skps', |
303 api.properties['buildername'], | 304 api.properties['buildername'], |
304 api.properties['mastername'], | 305 api.properties['mastername'], |
305 api.properties['slavename'], | 306 api.properties['slavename'], |
306 api.properties['buildnumber'], | 307 api.properties['buildnumber'], |
307 builder_cfg, | 308 builder_cfg, |
308 got_revision, | 309 got_revision, |
309 infrabots_dir, | 310 infrabots_dir, |
310 idempotent=False, | 311 idempotent=False, |
311 store_output=False, | 312 store_output=False, |
312 extra_isolate_hashes=extra_isolate_hashes) | 313 extra_isolate_hashes=extra_isolate_hashes, |
| 314 expiration=expiration, |
| 315 hard_timeout=hard_timeout, |
| 316 io_timeout=io_timeout) |
313 return api.swarming.collect_swarming_task(task) | 317 return api.swarming.collect_swarming_task(task) |
314 | 318 |
315 | 319 |
316 def infra_swarm(api, got_revision, infrabots_dir, extra_isolate_hashes): | 320 def infra_swarm(api, got_revision, infrabots_dir, extra_isolate_hashes): |
317 # Fake the builder cfg. | 321 # Fake the builder cfg. |
318 builder_cfg = { | 322 builder_cfg = { |
319 'role': 'Infra', | 323 'role': 'Infra', |
320 'is_trybot': api.builder_name_schema.IsTrybot( | 324 'is_trybot': api.builder_name_schema.IsTrybot( |
321 api.properties['buildername']) | 325 api.properties['buildername']) |
322 } | 326 } |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 Returns tuple of (expiration, hard_timeout, io_timeout). If those values are | 392 Returns tuple of (expiration, hard_timeout, io_timeout). If those values are |
389 none then default timeouts should be used. | 393 none then default timeouts should be used. |
390 """ | 394 """ |
391 expiration = None | 395 expiration = None |
392 hard_timeout = None | 396 hard_timeout = None |
393 io_timeout = None | 397 io_timeout = None |
394 if 'Valgrind' in builder_cfg.get('extra_config', ''): | 398 if 'Valgrind' in builder_cfg.get('extra_config', ''): |
395 expiration = 2*24*60*60 | 399 expiration = 2*24*60*60 |
396 hard_timeout = 9*60*60 | 400 hard_timeout = 9*60*60 |
397 io_timeout = 60*60 | 401 io_timeout = 60*60 |
| 402 if builder_cfg.get('extra_config', '').startswith('CT_'): |
| 403 hard_timeout = 24*60*60 |
| 404 io_timeout = 60*60 |
398 return expiration, hard_timeout, io_timeout | 405 return expiration, hard_timeout, io_timeout |
399 | 406 |
400 | 407 |
401 def gsutil_env(api, boto_file): | 408 def gsutil_env(api, boto_file): |
402 """Environment variables for gsutil.""" | 409 """Environment variables for gsutil.""" |
403 home_dir = os.path.expanduser('~') | 410 home_dir = os.path.expanduser('~') |
404 if api.path._test_data.enabled: | 411 if api.path._test_data.enabled: |
405 home_dir = '[HOME]' | 412 home_dir = '[HOME]' |
406 | 413 |
407 boto_path = None | 414 boto_path = None |
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
759 test += api.path.exists(*paths) | 766 test += api.path.exists(*paths) |
760 | 767 |
761 return test | 768 return test |
762 | 769 |
763 | 770 |
764 def GenTests(api): | 771 def GenTests(api): |
765 for mastername, slaves in TEST_BUILDERS.iteritems(): | 772 for mastername, slaves in TEST_BUILDERS.iteritems(): |
766 for slavename, builders_by_slave in slaves.iteritems(): | 773 for slavename, builders_by_slave in slaves.iteritems(): |
767 for builder in builders_by_slave: | 774 for builder in builders_by_slave: |
768 yield test_for_bot(api, builder, mastername, slavename) | 775 yield test_for_bot(api, builder, mastername, slavename) |
OLD | NEW |