| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 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 DEPS = [ | 5 DEPS = [ |
| 6 'archive', | 6 'archive', |
| 7 'bot_update', | 7 'bot_update', |
| 8 'chromium', | 8 'chromium', |
| 9 'gclient', | 9 'gclient', |
| 10 'json', | 10 'json', |
| (...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 443 'testing': {'platform': 'linux'}, | 443 'testing': {'platform': 'linux'}, |
| 444 }, | 444 }, |
| 445 'LinuxGit x64': { | 445 'LinuxGit x64': { |
| 446 'recipe_config': 'chromium', | 446 'recipe_config': 'chromium', |
| 447 'testing': {'platform': 'linux'}, | 447 'testing': {'platform': 'linux'}, |
| 448 }, | 448 }, |
| 449 } | 449 } |
| 450 }, | 450 }, |
| 451 'chromium.fyi': { | 451 'chromium.fyi': { |
| 452 'builders': { | 452 'builders': { |
| 453 'Linux ARM Cross-Compile': { |
| 454 # TODO(phajdan.jr): Re-enable goma, http://crbug.com/349236 . |
| 455 'recipe_config': 'chromium_no_goma', |
| 456 'GYP_DEFINES': { |
| 457 'target_arch': 'arm', |
| 458 'arm_float_abi': 'hard', |
| 459 'test_isolation_mode': 'archive', |
| 460 }, |
| 461 'chromium_config': 'chromium', |
| 462 'runhooks_env': { |
| 463 'AR': 'arm-linux-gnueabihf-ar', |
| 464 'AS': 'arm-linux-gnueabihf-as', |
| 465 'CC': 'arm-linux-gnueabihf-gcc', |
| 466 'CC_host': 'gcc', |
| 467 'CXX': 'arm-linux-gnueabihf-g++', |
| 468 'CXX_host': 'g++', |
| 469 'RANLIB': 'arm-linux-gnueabihf-ranlib', |
| 470 }, |
| 471 'compile_targets': [ |
| 472 'all', |
| 473 ], |
| 474 'testing': { |
| 475 'platform': 'linux', |
| 476 'test_spec_file': 'chromium_arm.json', |
| 477 }, |
| 478 }, |
| 453 'Linux Trusty': { | 479 'Linux Trusty': { |
| 454 # TODO(phajdan.jr): Re-enable goma, http://crbug.com/349236 . | 480 # TODO(phajdan.jr): Re-enable goma, http://crbug.com/349236 . |
| 455 'recipe_config': 'chromium_no_goma', | 481 'recipe_config': 'chromium_no_goma', |
| 456 'chromium_config_kwargs': { | 482 'chromium_config_kwargs': { |
| 457 'BUILD_CONFIG': 'Release', | 483 'BUILD_CONFIG': 'Release', |
| 458 'TARGET_BITS': 64, | 484 'TARGET_BITS': 64, |
| 459 }, | 485 }, |
| 460 'bot_type': 'builder_tester', | 486 'bot_type': 'builder_tester', |
| 461 'compile_targets': [ | 487 'compile_targets': [ |
| 462 'all', | 488 'all', |
| (...skipping 1011 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1474 bot_config = master_dict.get('builders', {}).get(buildername) | 1500 bot_config = master_dict.get('builders', {}).get(buildername) |
| 1475 master_config = master_dict.get('settings', {}) | 1501 master_config = master_dict.get('settings', {}) |
| 1476 recipe_config_name = bot_config['recipe_config'] | 1502 recipe_config_name = bot_config['recipe_config'] |
| 1477 assert recipe_config_name, ( | 1503 assert recipe_config_name, ( |
| 1478 'Unrecognized builder name %r for master %r.' % ( | 1504 'Unrecognized builder name %r for master %r.' % ( |
| 1479 buildername, mastername)) | 1505 buildername, mastername)) |
| 1480 recipe_config = RECIPE_CONFIGS[recipe_config_name] | 1506 recipe_config = RECIPE_CONFIGS[recipe_config_name] |
| 1481 | 1507 |
| 1482 api.chromium.set_config(recipe_config['chromium_config'], | 1508 api.chromium.set_config(recipe_config['chromium_config'], |
| 1483 **bot_config.get('chromium_config_kwargs', {})) | 1509 **bot_config.get('chromium_config_kwargs', {})) |
| 1510 # Set GYP_DEFINES explicitly because chromium config constructor does |
| 1511 # not support that. |
| 1512 api.chromium.c.gyp_env.GYP_DEFINES.update(bot_config.get('GYP_DEFINES', {})) |
| 1484 for c in recipe_config.get('chromium_apply_config', []): | 1513 for c in recipe_config.get('chromium_apply_config', []): |
| 1485 api.chromium.apply_config(c) | 1514 api.chromium.apply_config(c) |
| 1486 api.gclient.set_config(recipe_config['gclient_config']) | 1515 api.gclient.set_config(recipe_config['gclient_config']) |
| 1487 for c in recipe_config.get('gclient_apply_config', []): | 1516 for c in recipe_config.get('gclient_apply_config', []): |
| 1488 api.gclient.apply_config(c) | 1517 api.gclient.apply_config(c) |
| 1489 | 1518 |
| 1490 if api.platform.is_win: | 1519 if api.platform.is_win: |
| 1491 yield api.chromium.taskkill() | 1520 yield api.chromium.taskkill() |
| 1492 | 1521 |
| 1493 # Bot Update re-uses the gclient configs. | 1522 # Bot Update re-uses the gclient configs. |
| 1494 yield api.bot_update.ensure_checkout(), | 1523 yield api.bot_update.ensure_checkout(), |
| 1495 if not api.step_history.last_step().json.output['did_run']: | 1524 if not api.step_history.last_step().json.output['did_run']: |
| 1496 yield api.gclient.checkout(), | 1525 yield api.gclient.checkout(), |
| 1497 # Whatever step is run right before this line needs to emit got_revision. | 1526 # Whatever step is run right before this line needs to emit got_revision. |
| 1498 update_step = api.step_history.last_step() | 1527 update_step = api.step_history.last_step() |
| 1499 got_revision = update_step.presentation.properties['got_revision'] | 1528 got_revision = update_step.presentation.properties['got_revision'] |
| 1500 | 1529 |
| 1501 bot_type = bot_config.get('bot_type', 'builder_tester') | 1530 bot_type = bot_config.get('bot_type', 'builder_tester') |
| 1502 | 1531 |
| 1503 if not bot_config.get('disable_runhooks'): | 1532 if not bot_config.get('disable_runhooks'): |
| 1504 yield api.chromium.runhooks() | 1533 yield api.chromium.runhooks(env=bot_config.get('runhooks_env', {})) |
| 1505 | 1534 |
| 1535 test_spec_file = bot_config.get('testing', {}).get('test_spec_file', |
| 1536 '%s.json' % mastername) |
| 1537 test_spec_path = api.path['checkout'].join('testing', 'buildbot', |
| 1538 test_spec_file) |
| 1539 def test_spec_followup_fn(step_result): |
| 1540 step_result.presentation.step_text = 'path: %s' % test_spec_path |
| 1506 yield api.json.read( | 1541 yield api.json.read( |
| 1507 'read test spec', | 1542 'read test spec', |
| 1508 api.path['checkout'].join('testing', 'buildbot', '%s.json' % mastername), | 1543 test_spec_path, |
| 1509 step_test_data=lambda: api.json.test_api.output({})), | 1544 step_test_data=lambda: api.json.test_api.output({}), |
| 1545 followup_fn=test_spec_followup_fn), |
| 1510 yield api.chromium.cleanup_temp() | 1546 yield api.chromium.cleanup_temp() |
| 1511 | 1547 |
| 1512 # For non-trybot recipes we should know (seed) all steps in advance, | 1548 # For non-trybot recipes we should know (seed) all steps in advance, |
| 1513 # once we read the test spec. Instead of yielding single steps | 1549 # once we read the test spec. Instead of yielding single steps |
| 1514 # or groups of steps, yield all of them at the end. | 1550 # or groups of steps, yield all of them at the end. |
| 1515 steps = [] | 1551 steps = [] |
| 1516 | 1552 |
| 1517 if bot_type in ['builder', 'builder_tester']: | 1553 if bot_type in ['builder', 'builder_tester']: |
| 1518 compile_targets = set(bot_config.get('compile_targets', [])) | 1554 compile_targets = set(bot_config.get('compile_targets', [])) |
| 1519 for test in bot_config.get('tests', []): | 1555 for test in bot_config.get('tests', []): |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1607 api.platform('linux', 64) + | 1643 api.platform('linux', 64) + |
| 1608 api.override_step_data('read test spec', api.json.output({ | 1644 api.override_step_data('read test spec', api.json.output({ |
| 1609 'Linux Tests': { | 1645 'Linux Tests': { |
| 1610 'gtest_tests': [ | 1646 'gtest_tests': [ |
| 1611 'base_unittests', | 1647 'base_unittests', |
| 1612 {'test': 'browser_tests', 'shard_index': 0, 'total_shards': 2}, | 1648 {'test': 'browser_tests', 'shard_index': 0, 'total_shards': 2}, |
| 1613 ], | 1649 ], |
| 1614 }, | 1650 }, |
| 1615 })) | 1651 })) |
| 1616 ) | 1652 ) |
| OLD | NEW |