| 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 422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 433 verbose=True, | 433 verbose=True, |
| 434 set_swarm_hashes=False) | 434 set_swarm_hashes=False) |
| 435 | 435 |
| 436 def archive_build(self, mastername, buildername, update_step, bot_db): | 436 def archive_build(self, mastername, buildername, update_step, bot_db): |
| 437 bot_config = bot_db.get_bot_config(mastername, buildername) | 437 bot_config = bot_db.get_bot_config(mastername, buildername) |
| 438 | 438 |
| 439 if bot_config.get('bot_type') == 'builder': | 439 if bot_config.get('bot_type') == 'builder': |
| 440 if not bot_config.get('cf_archive_build'): | 440 if not bot_config.get('cf_archive_build'): |
| 441 master_config = bot_db.get_master_settings(mastername) | 441 master_config = bot_db.get_master_settings(mastername) |
| 442 build_revision = update_step.presentation.properties['got_revision'] | 442 build_revision = update_step.presentation.properties['got_revision'] |
| 443 self.m.archive.zip_and_upload_build( | |
| 444 'package build', | |
| 445 self.m.chromium.c.build_config_fs, | |
| 446 build_url=self._build_gs_archive_url( | |
| 447 mastername, master_config, buildername), | |
| 448 build_revision=build_revision, | |
| 449 cros_board=self.m.chromium.c.TARGET_CROS_BOARD, | |
| 450 # TODO(machenbach): Make asan a configuration switch. | |
| 451 package_dsym_files=( | |
| 452 self.m.chromium.c.gyp_env.GYP_DEFINES.get('asan') and | |
| 453 self.m.chromium.c.HOST_PLATFORM == 'mac'), | |
| 454 ) | |
| 455 | 443 |
| 456 # For archiving 'chromium.perf', the builder also archives a version | 444 # For archiving 'chromium.perf', the builder also archives a version |
| 457 # without perf test files for manual bisect. | 445 # without perf test files for manual bisect. |
| 458 # (https://bugs.chromium.org/p/chromium/issues/detail?id=604452) | 446 # (https://bugs.chromium.org/p/chromium/issues/detail?id=604452) |
| 459 if (master_config.get('bisect_builders') and | 447 if (master_config.get('bisect_builders') and |
| 460 buildername in master_config.get('bisect_builders')): | 448 buildername in master_config.get('bisect_builders')): |
| 461 self.m.archive.zip_and_upload_build( | 449 self.m.archive.zip_and_upload_build( |
| 462 'package build for bisect', | 450 'package build for bisect', |
| 463 self.m.chromium.c.build_config_fs, | 451 self.m.chromium.c.build_config_fs, |
| 464 build_url=self._build_bisect_gs_archive_url(master_config), | 452 build_url=self._build_bisect_gs_archive_url(master_config), |
| 465 build_revision=build_revision, | 453 build_revision=build_revision, |
| 466 cros_board=self.m.chromium.c.TARGET_CROS_BOARD, | 454 cros_board=self.m.chromium.c.TARGET_CROS_BOARD, |
| 467 update_properties=update_step.presentation.properties, | 455 update_properties=update_step.presentation.properties, |
| 468 exclude_perf_test_files=True, | 456 exclude_perf_test_files=True, |
| 469 store_by_hash=False, | 457 store_by_hash=False, |
| 470 platform=self.m.chromium.c.HOST_PLATFORM | 458 platform=self.m.chromium.c.HOST_PLATFORM |
| 471 ) | 459 ) |
| 472 | 460 |
| 461 self.m.archive.zip_and_upload_build( |
| 462 'package build', |
| 463 self.m.chromium.c.build_config_fs, |
| 464 build_url=self._build_gs_archive_url( |
| 465 mastername, master_config, buildername), |
| 466 build_revision=build_revision, |
| 467 cros_board=self.m.chromium.c.TARGET_CROS_BOARD, |
| 468 # TODO(machenbach): Make asan a configuration switch. |
| 469 package_dsym_files=( |
| 470 self.m.chromium.c.gyp_env.GYP_DEFINES.get('asan') and |
| 471 self.m.chromium.c.HOST_PLATFORM == 'mac'), |
| 472 ) |
| 473 |
| 473 trigger_specs = [] | 474 trigger_specs = [] |
| 474 for loop_mastername, loop_buildername, builder_dict in sorted( | 475 for loop_mastername, loop_buildername, builder_dict in sorted( |
| 475 bot_db.bot_configs_matching_parent_buildername( | 476 bot_db.bot_configs_matching_parent_buildername( |
| 476 mastername, buildername)): | 477 mastername, buildername)): |
| 477 trigger_spec = { | 478 trigger_spec = { |
| 478 'builder_name': loop_buildername, | 479 'builder_name': loop_buildername, |
| 479 'properties': {}, | 480 'properties': {}, |
| 480 } | 481 } |
| 481 if mastername != loop_mastername: | 482 if mastername != loop_mastername: |
| 482 trigger_spec['bucket'] = 'master.' + loop_mastername | 483 trigger_spec['bucket'] = 'master.' + loop_mastername |
| (...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1015 targets in |compile_targets|.""" | 1016 targets in |compile_targets|.""" |
| 1016 result = [] | 1017 result = [] |
| 1017 for test in tests: | 1018 for test in tests: |
| 1018 test_compile_targets = test.compile_targets(api) | 1019 test_compile_targets = test.compile_targets(api) |
| 1019 # Always return tests that don't require compile. Otherwise we'd never | 1020 # Always return tests that don't require compile. Otherwise we'd never |
| 1020 # run them. | 1021 # run them. |
| 1021 if ((set(compile_targets) & set(test_compile_targets)) or | 1022 if ((set(compile_targets) & set(test_compile_targets)) or |
| 1022 not test_compile_targets): | 1023 not test_compile_targets): |
| 1023 result.append(test) | 1024 result.append(test) |
| 1024 return result | 1025 return result |
| OLD | NEW |