Chromium Code Reviews| Index: scripts/slave/recipes/chromium_trybot.py |
| diff --git a/scripts/slave/recipes/chromium_trybot.py b/scripts/slave/recipes/chromium_trybot.py |
| index 13d49cff58ad81d5f10666565a0fe5dfab625377..bc66bc6b3da261798fedd6ca5513be31760f84d1 100644 |
| --- a/scripts/slave/recipes/chromium_trybot.py |
| +++ b/scripts/slave/recipes/chromium_trybot.py |
| @@ -206,6 +206,7 @@ def _RunStepsInternal(api): |
| mastername = api.properties.get('mastername') |
| buildername = api.properties.get('buildername') |
| bot_config = get_bot_config(mastername, buildername) |
| + additional_trybot_mirrors = bot_config.get('additional_mirrors') |
| # TODO(sergiyb): This is a temporary hack to run GPU tests on tryserver |
| # only. This should be removed when we will convert chromium.gpu waterfall |
| @@ -217,42 +218,64 @@ def _RunStepsInternal(api): |
| api.chromium_tests.configure_build( |
| bot_config['mastername'], |
| bot_config['buildername'], |
| + additional_trybot_mirrors, |
| override_bot_type='builder_tester') |
| api.chromium_tests.configure_swarming('chromium', precommit=True) |
| api.chromium.apply_config('trybot_flavor') |
| + # TODO(kbr): the "optional" flag is only being used during the |
| + # transition from the GPU recipe to the Chromium recipe. |
| if enable_gpu_tests: |
| - api.chromium.apply_config('archive_gpu_tests') |
| - api.chromium.apply_config('chrome_with_codecs') |
| + api.chromium.apply_config('archive_gpu_tests', optional=True) |
| + api.chromium.apply_config('chrome_with_codecs', optional=True) |
| if api.properties.get('patch_project') == 'blink': # pragma: no cover |
| raise Exception('CLs which use blink project are not supported. ' |
| 'Please re-create the CL using fresh checkout after ' |
| 'the blink merge.') |
| - bot_update_step, master_dict, test_spec = \ |
| + bot_update_step, master_dicts, test_specs = \ |
| api.chromium_tests.prepare_checkout( |
| bot_config['mastername'], |
| - bot_config['buildername']) |
| + bot_config['buildername'], |
| + additional_trybot_mirrors) |
| tests = list(api.chromium_tests.tests_for_builder( |
| bot_config['mastername'], |
| bot_config['buildername'], |
| bot_update_step, |
| - master_dict, |
| + master_dicts[0], |
| override_bot_type='builder_tester')) |
| tester = bot_config.get('tester', '') |
| if tester: |
| - test_config = master_dict.get('builders', {}).get(tester) |
| + test_config = master_dicts[0].get('builders', {}).get(tester) |
| for key, value in test_config.get('swarming_dimensions', {}).iteritems(): |
| api.swarming.set_default_dimension(key, value) |
| tests.extend(api.chromium_tests.tests_for_builder( |
| bot_config['mastername'], |
| tester, |
| bot_update_step, |
| - master_dict, |
| + master_dicts[0], |
| + override_bot_type='builder_tester')) |
| + if additional_trybot_mirrors: |
| + i = 1 |
| + for mirror in additional_trybot_mirrors: |
|
Sergey Berezin
2016/01/06 01:50:56
nit: if tests_for_builder() takes master_dicts and
|
| + tests.extend(api.chromium_tests.tests_for_builder( |
| + mirror['mastername'], |
| + mirror['buildername'], |
| + bot_update_step, |
| + master_dicts[i], |
| override_bot_type='builder_tester')) |
| + tester = mirror.get('tester', '') |
| + if tester: |
| + tests.extend(api.chromium_tests.tests_for_builder( |
| + mirror['mastername'], |
| + tester, |
| + bot_update_step, |
| + master_dicts[i], |
| + override_bot_type='builder_tester')) |
| + i += 1 |
| if enable_gpu_tests: |
| tests.extend(api.gpu.create_tests( |
| @@ -297,8 +320,9 @@ def _RunStepsInternal(api): |
| api.chromium_tests.get_compile_targets_and_tests( |
| bot_config['mastername'], |
| bot_config['buildername'], |
| - master_dict, |
| - test_spec, |
| + master_dicts, |
| + additional_trybot_mirrors, |
| + test_specs, |
| override_bot_type='builder_tester', |
| override_tests=tests) |
| @@ -345,7 +369,7 @@ def _RunStepsInternal(api): |
| bot_config['mastername'], |
| bot_config['buildername'], |
| bot_update_step, |
| - master_dict, |
| + master_dicts, |
| compile_targets, |
| tests_including_triggered, |
| override_bot_type='builder_tester') |