OLD | NEW |
1 # -*- python -*- | 1 # -*- python -*- |
2 # ex: set syntax=python: | 2 # ex: set syntax=python: |
3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 # READ THIS: | 7 # READ THIS: |
8 # See http://dev.chromium.org/developers/testing/chromium-build-infrastructure | 8 # See http://dev.chromium.org/developers/testing/chromium-build-infrastructure |
9 | 9 |
| 10 from buildbot.scheduler import Triggerable |
| 11 |
10 # These modules come from scripts, which must be in the PYTHONPATH. | 12 # These modules come from scripts, which must be in the PYTHONPATH. |
11 from master import master_utils | 13 from master import master_utils |
12 from master import slaves_list | 14 from master import slaves_list |
13 from master.builders_pools import BuildersPools | 15 from master.builders_pools import BuildersPools |
14 from master.factory import chromium_factory, chromeos_factory | 16 from master.factory import chromium_factory, chromeos_factory |
15 from master.try_job_http import TryJobHTTP | 17 from master.try_job_http import TryJobHTTP |
16 from master.try_job_rietveld import TryJobRietveld | 18 from master.try_job_rietveld import TryJobRietveld |
17 from master.try_job_svn import TryJobSubversion | 19 from master.try_job_svn import TryJobSubversion |
18 | 20 |
19 import config | 21 import config |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 for req in requests: | 77 for req in requests: |
76 if any(c.who == 'commit-bot@chromium.org' for c in req.source.changes): | 78 if any(c.who == 'commit-bot@chromium.org' for c in req.source.changes): |
77 return req | 79 return req |
78 return requests[0] | 80 return requests[0] |
79 | 81 |
80 | 82 |
81 def CreateBuilder(platform, builder_name, target, | 83 def CreateBuilder(platform, builder_name, target, |
82 tests=None, options=None, mode=None, timeout=2400, | 84 tests=None, options=None, mode=None, timeout=2400, |
83 slavebuilddir=None, extra_gyp_defines=None, | 85 slavebuilddir=None, extra_gyp_defines=None, |
84 gclient_env=None, gyp_generators=None, | 86 gclient_env=None, gyp_generators=None, |
85 factory_properties=None): | 87 factory_properties=None, annotation_script=None): |
86 """Generates and register a builder along with its slave(s).""" | 88 """Generates and register a builder along with its slave(s).""" |
87 if platform not in ('win32', 'win64', 'linux', 'mac', | 89 if platform not in ('win32', 'win64', 'linux', 'mac', 'android'): |
88 'android', 'android_test'): | |
89 raise Exception(platform + ' is not a known os type') | 90 raise Exception(platform + ' is not a known os type') |
90 | 91 |
91 factory_properties = (factory_properties or {}).copy() | 92 factory_properties = (factory_properties or {}).copy() |
92 | 93 |
93 factory_properties.setdefault('non_default', [ | 94 factory_properties.setdefault('non_default', [ |
94 'check_licenses', | 95 'check_licenses', |
95 'courgette_unittests', | 96 'courgette_unittests', |
96 'googleurl_unittests', | 97 'googleurl_unittests', |
97 'pyauto_functional_tests', | 98 'pyauto_functional_tests', |
98 'sandbox_linux_unittests', | 99 'sandbox_linux_unittests', |
99 'sync_integration_tests', | 100 'sync_integration_tests', |
100 ]) | 101 ]) |
101 factory_properties['gclient_env'] = {'GYP_DEFINES': ''} | 102 factory_properties['gclient_env'] = {'GYP_DEFINES': ''} |
102 | 103 |
103 annotation_script = None | |
104 project = None | 104 project = None |
105 if platform in ('win32', 'win64'): | 105 if platform in ('win32', 'win64'): |
106 factory = m_chromium_win | 106 factory = m_chromium_win |
107 if builder_name == 'win_aura': | 107 if builder_name == 'win_aura': |
108 project = 'all.sln;aura_builder' | 108 project = 'all.sln;aura_builder' |
109 elif builder_name == 'win_cf': | 109 elif builder_name == 'win_cf': |
110 project = 'all.sln;chromium_builder_win_cf' | 110 project = 'all.sln;chromium_builder_win_cf' |
111 elif builder_name == 'win_gpu': | 111 elif builder_name == 'win_gpu': |
112 if target == 'Debug': | 112 if target == 'Debug': |
113 project = 'all.sln;chromium_gpu_debug_builder' | 113 project = 'all.sln;chromium_gpu_debug_builder' |
114 else: | 114 else: |
115 project = 'all.sln;chromium_gpu_builder' | 115 project = 'all.sln;chromium_gpu_builder' |
116 else: | 116 else: |
117 project = 'all.sln' | 117 project = 'all.sln' |
118 factory_properties['process_dumps'] = True | 118 factory_properties['process_dumps'] = True |
119 factory_properties['gclient_env']['GYP_DEFINES'] = 'fastbuild=1' | 119 factory_properties['gclient_env']['GYP_DEFINES'] = 'fastbuild=1' |
120 factory_properties['start_crash_handler'] = True | 120 factory_properties['start_crash_handler'] = True |
121 elif platform == 'linux': | 121 elif platform == 'linux': |
122 factory = m_chromium_linux | 122 factory = m_chromium_linux |
123 factory_properties['gclient_env']['GYP_DEFINES'] = 'fastbuild=1' | 123 factory_properties['gclient_env']['GYP_DEFINES'] = 'fastbuild=1' |
124 elif platform == 'android': | 124 elif platform == 'android': |
125 factory = m_chromium_android | 125 factory = m_chromium_android |
126 annotation_script = 'src/build/android/buildbot_try_compile.sh' | |
127 elif platform == 'android_test': | |
128 factory = m_chromium_android | |
129 annotation_script = 'src/build/android/buildbot_try_compile_test.sh' | |
130 elif platform == 'mac': | 126 elif platform == 'mac': |
131 factory = m_chromium_mac | 127 factory = m_chromium_mac |
132 factory_properties['gclient_env']['GYP_DEFINES'] = 'fastbuild=1' | 128 factory_properties['gclient_env']['GYP_DEFINES'] = 'fastbuild=1' |
133 | 129 |
134 if gclient_env: | 130 if gclient_env: |
135 factory_properties['gclient_env'].update(gclient_env) | 131 factory_properties['gclient_env'].update(gclient_env) |
136 if extra_gyp_defines: | 132 if extra_gyp_defines: |
137 factory_properties['gclient_env']['GYP_DEFINES'] += ' ' + extra_gyp_defines | 133 factory_properties['gclient_env']['GYP_DEFINES'] += ' ' + extra_gyp_defines |
138 if gyp_generators: | 134 if gyp_generators: |
139 factory_properties['gclient_env']['GYP_GENERATORS'] = gyp_generators | 135 factory_properties['gclient_env']['GYP_GENERATORS'] = gyp_generators |
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
604 ], | 600 ], |
605 factory_properties={ | 601 factory_properties={ |
606 'gclient_env': { | 602 'gclient_env': { |
607 'GYP_DEFINES': ('chromeos=1 fastbuild=1' | 603 'GYP_DEFINES': ('chromeos=1 fastbuild=1' |
608 ' ffmpeg_branding=ChromeOS' | 604 ' ffmpeg_branding=ChromeOS' |
609 ' dcheck_always_on=1' | 605 ' dcheck_always_on=1' |
610 ' component=shared_library' | 606 ' component=shared_library' |
611 ' proprietary_codecs=1')}}) | 607 ' proprietary_codecs=1')}}) |
612 } | 608 } |
613 | 609 |
614 b_android = CreateBuilder(platform='android', | 610 # Compile only trybot |
615 target='Release', | 611 b_android = CreateBuilder( |
616 builder_name='android') | 612 platform='android', |
| 613 target='Release', |
| 614 builder_name='android', |
| 615 annotation_script='src/build/android/buildbot_try_compile.sh') |
617 | 616 |
618 b_android_test = CreateBuilder(platform='android_test', | 617 # Compile and run tests |
619 target='Release', | 618 b_android_test = CreateBuilder( |
620 builder_name='android_test') | 619 platform='android', |
| 620 target='Release', |
| 621 builder_name='android_test', |
| 622 annotation_script='src/build/android/buildbot_try_compile_test.sh') |
| 623 |
| 624 # Compile and zip build, triggers android_tester |
| 625 b_android_builder = CreateBuilder( |
| 626 platform='android', |
| 627 target='Release', |
| 628 builder_name='android_builder', |
| 629 factory_properties={'trigger': 'android'}, |
| 630 annotation_script='src/build/android/buildbot_try_builder.sh') |
| 631 |
| 632 # Download and extract build, run tests. |
| 633 b_android_tester = CreateBuilder( |
| 634 platform='android', |
| 635 target='Release', |
| 636 builder_name='android_tester', |
| 637 factory_properties={'halt_on_missing_build': True}, |
| 638 annotation_script='src/build/android/buildbot_try_tester.sh') |
621 | 639 |
622 # 32 bits tools can't link libwebcore.a anymore due to lack of virtual address | 640 # 32 bits tools can't link libwebcore.a anymore due to lack of virtual address |
623 # space, including OSX 10.5. | 641 # space, including OSX 10.5. |
624 valgrind_gyp_defines = ( | 642 valgrind_gyp_defines = ( |
625 chromium_factory.ChromiumFactory.MEMORY_TOOLS_GYP_DEFINES + ' enable_svg=0') | 643 chromium_factory.ChromiumFactory.MEMORY_TOOLS_GYP_DEFINES + ' enable_svg=0') |
626 drmemory_gyp_defines = chromium_factory.ChromiumFactory.DR_MEMORY_GYP_DEFINES | 644 drmemory_gyp_defines = chromium_factory.ChromiumFactory.DR_MEMORY_GYP_DEFINES |
627 | 645 |
628 b_valgrind_linux = { | 646 b_valgrind_linux = { |
629 'name': 'linux_valgrind', | 647 'name': 'linux_valgrind', |
630 'factory': m_chromium_linux.ChromiumFactory( | 648 'factory': m_chromium_linux.ChromiumFactory( |
(...skipping 693 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1324 'arm_thumb=1 ' | 1342 'arm_thumb=1 ' |
1325 'arm_neon=0 ' | 1343 'arm_neon=0 ' |
1326 'arm_fpu=vfpv3-d16 ' | 1344 'arm_fpu=vfpv3-d16 ' |
1327 'chromeos=1 ' # Since this is the intersting variation. | 1345 'chromeos=1 ' # Since this is the intersting variation. |
1328 ), | 1346 ), |
1329 } | 1347 } |
1330 | 1348 |
1331 c['builders'] = [ | 1349 c['builders'] = [ |
1332 b_linux_rel, b_linux_rel_alt, b_mac_rel, b_win_rel, | 1350 b_linux_rel, b_linux_rel_alt, b_mac_rel, b_win_rel, |
1333 b_linux_clang, | 1351 b_linux_clang, |
1334 b_linux, b_mac, b_win, b_android, b_android_test, | 1352 b_linux, b_mac, b_win, |
| 1353 b_android, b_android_test, b_android_builder, b_android_tester, |
1335 b_win_vs2010_rel, b_win_vs2010, | 1354 b_win_vs2010_rel, b_win_vs2010, |
1336 b_chromium_chromiumos, | 1355 b_chromium_chromiumos, |
1337 b_valgrind_linux, b_valgrind_mac, | 1356 b_valgrind_linux, b_valgrind_mac, |
1338 b_chromium_chromiumos_valgrind, | 1357 b_chromium_chromiumos_valgrind, |
1339 b_tsan_linux, b_drmemory_win, | 1358 b_tsan_linux, b_drmemory_win, |
1340 b_linux_layout, b_mac_layout, b_win_layout, | 1359 b_linux_layout, b_mac_layout, b_win_layout, |
1341 b_linux_layout_rel, b_mac_layout_rel, b_win_layout_rel, | 1360 b_linux_layout_rel, b_mac_layout_rel, b_win_layout_rel, |
1342 b_coverage_linux, | 1361 b_coverage_linux, |
1343 b_win_chrome_frame, | 1362 b_win_chrome_frame, |
1344 b_mac_no_goma, b_linux_clang_no_goma, | 1363 b_mac_no_goma, b_linux_clang_no_goma, |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1405 project='chrome')) | 1424 project='chrome')) |
1406 | 1425 |
1407 if LISTEN_TO_SVN: | 1426 if LISTEN_TO_SVN: |
1408 c['schedulers'].append(TryJobSubversion( | 1427 c['schedulers'].append(TryJobSubversion( |
1409 name='try_job_svn', | 1428 name='try_job_svn', |
1410 svn_url=ActiveMaster.svn_url, | 1429 svn_url=ActiveMaster.svn_url, |
1411 last_good_urls=last_good_urls, | 1430 last_good_urls=last_good_urls, |
1412 code_review_sites=code_review_sites, | 1431 code_review_sites=code_review_sites, |
1413 pools=pools)) | 1432 pools=pools)) |
1414 | 1433 |
| 1434 # Triggerable scheduler for Android Builder. |
| 1435 c['schedulers'].append(Triggerable( |
| 1436 name='android', |
| 1437 builderNames=['android_tester'])) |
1415 | 1438 |
1416 ####### STATUS TARGETS | 1439 ####### STATUS TARGETS |
1417 | 1440 |
1418 # Adds common status and tools to this master. | 1441 # Adds common status and tools to this master. |
1419 # Use our own mail notifier. | 1442 # Use our own mail notifier. |
1420 master_utils.AutoSetupMaster(c, ActiveMaster, False, | 1443 master_utils.AutoSetupMaster(c, ActiveMaster, False, |
1421 public_html='../master.chromium/public_html', | 1444 public_html='../master.chromium/public_html', |
1422 templates=['./templates', | 1445 templates=['./templates', |
1423 '../master.chromium/templates']) | 1446 '../master.chromium/templates']) |
1424 | 1447 |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1484 ####### PROJECT IDENTITY | 1507 ####### PROJECT IDENTITY |
1485 | 1508 |
1486 # The 'projectURL' string will be used to provide a link | 1509 # The 'projectURL' string will be used to provide a link |
1487 # from buildbot HTML pages to your project's home page. | 1510 # from buildbot HTML pages to your project's home page. |
1488 c['projectURL'] = 'http://dev.chromium.org/developers/testing/try-server-usage' | 1511 c['projectURL'] = 'http://dev.chromium.org/developers/testing/try-server-usage' |
1489 | 1512 |
1490 # Buildbot master url: | 1513 # Buildbot master url: |
1491 c['buildbotURL'] = 'http://build.chromium.org/p/tryserver.chromium/' | 1514 c['buildbotURL'] = 'http://build.chromium.org/p/tryserver.chromium/' |
1492 | 1515 |
1493 # vi: set ts=4 sts=2 sw=2 et: | 1516 # vi: set ts=4 sts=2 sw=2 et: |
OLD | NEW |