OLD | NEW |
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 import collections | 5 import collections |
6 import contextlib | 6 import contextlib |
7 import copy | 7 import copy |
8 import itertools | 8 import itertools |
9 import json | 9 import json |
10 | 10 |
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
423 build_url=self._build_gs_archive_url( | 423 build_url=self._build_gs_archive_url( |
424 mastername, master_config, buildername), | 424 mastername, master_config, buildername), |
425 build_revision=build_revision, | 425 build_revision=build_revision, |
426 cros_board=self.m.chromium.c.TARGET_CROS_BOARD, | 426 cros_board=self.m.chromium.c.TARGET_CROS_BOARD, |
427 # TODO(machenbach): Make asan a configuration switch. | 427 # TODO(machenbach): Make asan a configuration switch. |
428 package_dsym_files=( | 428 package_dsym_files=( |
429 self.m.chromium.c.gyp_env.GYP_DEFINES.get('asan') and | 429 self.m.chromium.c.gyp_env.GYP_DEFINES.get('asan') and |
430 self.m.chromium.c.HOST_PLATFORM == 'mac'), | 430 self.m.chromium.c.HOST_PLATFORM == 'mac'), |
431 ) | 431 ) |
432 | 432 |
433 for loop_buildername, builder_dict in sorted( | 433 trigger_specs = [] |
| 434 for loop_mastername, loop_buildername, builder_dict in sorted( |
434 bot_db.bot_configs_matching_parent_buildername( | 435 bot_db.bot_configs_matching_parent_buildername( |
435 mastername, buildername)): | 436 mastername, buildername)): |
436 trigger_spec = { | 437 trigger_spec = { |
437 'builder_name': loop_buildername, | 438 'builder_name': loop_buildername, |
438 'properties': {}, | 439 'properties': {}, |
439 } | 440 } |
| 441 if mastername != loop_mastername: |
| 442 trigger_spec['bucket'] = 'master.' + loop_mastername |
440 for name, value in update_step.presentation.properties.iteritems(): | 443 for name, value in update_step.presentation.properties.iteritems(): |
441 if name.startswith('got_'): | 444 if name.startswith('got_'): |
442 trigger_spec['properties']['parent_' + name] = value | 445 trigger_spec['properties']['parent_' + name] = value |
443 self.m.trigger(trigger_spec) | 446 trigger_specs.append(trigger_spec) |
| 447 if trigger_specs: |
| 448 self.m.trigger(*trigger_specs) |
444 | 449 |
445 if bot_config.get('archive_build') and not self.m.tryserver.is_tryserver: | 450 if bot_config.get('archive_build') and not self.m.tryserver.is_tryserver: |
446 self.m.chromium.archive_build( | 451 self.m.chromium.archive_build( |
447 'archive_build', | 452 'archive_build', |
448 bot_config['gs_bucket'], | 453 bot_config['gs_bucket'], |
449 bot_config.get('gs_acl'), | 454 bot_config.get('gs_acl'), |
450 mode='dev' | 455 mode='dev' |
451 ) | 456 ) |
452 if bot_config.get('cf_archive_build') and not self.m.tryserver.is_tryserver: | 457 if bot_config.get('cf_archive_build') and not self.m.tryserver.is_tryserver: |
453 self.m.archive.clusterfuzz_archive( | 458 self.m.archive.clusterfuzz_archive( |
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
833 def get_compile_targets_for_scripts(self): | 838 def get_compile_targets_for_scripts(self): |
834 return self.m.python( | 839 return self.m.python( |
835 name='get compile targets for scripts', | 840 name='get compile targets for scripts', |
836 script=self.m.path['checkout'].join( | 841 script=self.m.path['checkout'].join( |
837 'testing', 'scripts', 'get_compile_targets.py'), | 842 'testing', 'scripts', 'get_compile_targets.py'), |
838 args=[ | 843 args=[ |
839 '--output', self.m.json.output(), | 844 '--output', self.m.json.output(), |
840 '--', | 845 '--', |
841 ] + self.get_common_args_for_scripts(), | 846 ] + self.get_common_args_for_scripts(), |
842 step_test_data=lambda: self.m.json.test_api.output({})) | 847 step_test_data=lambda: self.m.json.test_api.output({})) |
OLD | NEW |