GoogleGit

blob: 3de908216ce9b78e3b9b14c7326242d91e6025f3 [file] [log] [blame]
  1. # vim: ft=python:
  2. # Copyright (c) 2012 The Chromium Authors. All rights reserved.
  3. # Use of this source code is governed by a BSD-style license that can be
  4. # found in the LICENSE file.
  5. from buildbot.changes.filter import ChangeFilter
  6. from buildbot.scheduler import Dependent
  7. from buildbot.scheduler import Nightly
  8. from buildbot.scheduler import Periodic
  9. from buildbot.scheduler import Scheduler
  10. from buildbot.scheduler import Triggerable
  11. from buildbot.status.mail import MailNotifier
  12. from common import chromium_utils
  13. # These modules come from scripts/master, which must be in the PYTHONPATH.
  14. from master import build_utils
  15. from master import chromium_notifier
  16. from master import failures_notifier
  17. from master import master_config
  18. from master import master_utils
  19. from master import slaves_list
  20. from master import gitiles_poller
  21. from master.factory import annotator_factory
  22. from master.factory import chromium_factory
  23. # These modules come from scripts/common, which must be in the PYTHONPATH.
  24. import config
  25. import master_site_config
  26. import master_win_drmemory_cfg
  27. import master_win_syzyasan_cfg
  28. ActiveMaster = master_site_config.ChromiumFYI
  29. DRMEMORY_NOTIFIER = True
  30. STATUS_PUSH = False
  31. # This is the dictionary that the buildmaster pays attention to. We also use
  32. # a shorter alias to save typing.
  33. c = BuildmasterConfig = {}
  34. c['status'] = []
  35. config.DatabaseSetup(c, require_dbconfig=ActiveMaster.is_production_host)
  36. ####### CHANGESOURCES
  37. # Polls config.Master.trunk_url for changes
  38. chromium_repo_url = config.Master.git_server_url + '/chromium/src'
  39. trunk_poller = gitiles_poller.GitilesPoller(chromium_repo_url,
  40. project='chromium')
  41. c['change_source'] = [trunk_poller]
  42. # Polls the blink merging practice repo.
  43. chromium_practice_repo_url = \
  44. config.Master.git_server_url + '/playground/chromium-blink-merge'
  45. practice_poller = gitiles_poller.GitilesPoller(chromium_practice_repo_url,
  46. project='chromium-playground')
  47. c['change_source'].append(practice_poller)
  48. s_practice = Scheduler(
  49. name='chromium-practice',
  50. treeStableTimer=60,
  51. change_filter=ChangeFilter(project='chromium-playground', branch='master'),
  52. builderNames=['ChromiumPractice',
  53. ])
  54. s_practice_builder = Triggerable(
  55. name='cr_practice', builderNames=['ChromiumPracticeTester'])
  56. # Number of machines to shard ash browser_tests over.
  57. ASH_SHARDS = 2
  58. ####### SCHEDULERS
  59. ## configure the Schedulers
  60. # Main scheduler for all changes in trunk.
  61. s_chromium = Scheduler(
  62. name='chromium',
  63. treeStableTimer=60,
  64. change_filter=ChangeFilter(project='chromium', branch='master'),
  65. builderNames=['Chromium Builder',
  66. 'Chromium Linux Mojo',
  67. 'Chromium Windows Analyze',
  68. 'Chromium Windows Mojo',
  69. 'Chromium Windows Instant Extended',
  70. 'Chromium Linux Buildrunner',
  71. 'Chromium Windows Buildrunner',
  72. 'Chromium Mac Buildrunner',
  73. 'Chromium Mac 10.8 Buildrunner',
  74. 'Chromium Mac 10.9 Buildrunner',
  75. 'Chromium Builder (dbg)',
  76. # The bots need a short name to work around crbug.com/399990.
  77. 'Cr Win VS2013 (dbg)',
  78. 'Cr Win VS2013',
  79. 'CrWinGoma',
  80. 'CrWinGoma(dll)', # not (shared) cause crbug.com/399990
  81. 'CrWin7Goma',
  82. 'CrWin7Goma(dll)', # not (shared) cause crbug.com/399990
  83. 'CrWin7Goma(dbg)',
  84. 'CrWin7Goma(clbr)', # not (clobber) cause crbug.com/399990
  85. 'CrWinClangGoma',
  86. 'CrWinClang',
  87. 'CrWinClang(dbg)',
  88. 'CrWinClang(shared)',
  89. 'CrWinClang64',
  90. 'CrWinClang64(dbg)',
  91. 'CrWinClang64(dll)', # not (shared) cause crbug.com/399990
  92. 'CrWinClangLLD',
  93. 'CrWinAsan',
  94. 'ClangToTLinux',
  95. 'ClangToTLinux (dbg)',
  96. 'ClangToTLinuxASan',
  97. 'ClangToTAndroidASan',
  98. 'ClangToTMac',
  99. 'ClangToTMac (dbg)',
  100. 'ClangToTMacASan',
  101. 'CrWinAsan(dll)', # not (asan/shared) cause crbug.com/399990
  102. 'Chromium Win x64 Clobber',
  103. 'Chromium Win PGO Builder',
  104. 'Chromium Win x64 PGO Builder',
  105. 'Blink Linux LSan ASan',
  106. 'Windows Builder (DrMemory)',
  107. 'Windows Builder (DrMemory x64)',
  108. 'Android Builder (dbg)',
  109. 'Android MIPS Builder (dbg)',
  110. 'Android x86 Builder (dbg)',
  111. 'Android User Builder Tests',
  112. 'Android Asan Builder Tests (dbg)',
  113. 'Android Builder Tests (JB Nexus7)(shared)',
  114. 'Android AOSP Builder (dbg)',
  115. 'Android x64 Builder (dbg)',
  116. 'Android Cronet Builder',
  117. 'Chromium_iOS_Simulator_(dbg)',
  118. 'Chromium_iOS_Device',
  119. 'Chromium_iOS_Device_(ninja)',
  120. 'More NaCl Tests (mac)',
  121. 'More NaCl Tests (linux)',
  122. 'Chromium Linux Goma Canary',
  123. 'Chromium Linux Goma Canary (clobber)',
  124. 'Chromium Linux Precise Goma LinkTest',
  125. 'Chromium Linux32 Goma Canary (clobber)',
  126. 'Chromium Mac 10.6 Goma Canary',
  127. 'Chromium Mac 10.7 Goma Canary',
  128. 'Chromium Mac 10.6 Goma Canary (clobber)',
  129. 'Chromium Mac 10.7 Goma Canary (clobber)',
  130. 'Chromium Mac 10.10',
  131. 'Windows 8 App Certification',
  132. 'ChromiumOS Linux Tests',
  133. 'Ozone ECS Linux',
  134. 'Linux ARM',
  135. 'Linux ARM Cross-Compile',
  136. 'Linux Trusty',
  137. 'Linux Trusty (32)',
  138. 'Linux Trusty (dbg)',
  139. 'Linux Trusty (dbg)(32)',
  140. 'Print Preview Linux',
  141. 'Print Preview Mac',
  142. 'Print Preview Win',
  143. 'Site Isolation Linux',
  144. 'Site Isolation Win',
  145. 'Browser Side Navigation Linux',
  146. 'Closure Compilation Linux'
  147. ])
  148. # Triggerable scheduler for Windows Release.
  149. s_chromium_win_rel = Triggerable(
  150. name='win_rel',
  151. builderNames=['Chromium Win MiniInstaller Tests',
  152. 'More NaCl Tests (win32)',
  153. 'More NaCl Tests (win64)',
  154. 'Win8 Tests (1)',
  155. 'Win8 Tests (2)',])
  156. # Triggerable scheduler for Windows Debug.
  157. s_chromium_win_dbg = Triggerable(
  158. name='win_dbg',
  159. builderNames=['Vista Tests (dbg)(1)',
  160. 'Vista Tests (dbg)(2)',])
  161. # Triggerable scheduler for Android Builder
  162. s_chromium_android_dbg = Triggerable(
  163. name='android_dbg',
  164. builderNames=['Android Tests (JB GalaxyNexus)(dbg)',
  165. 'Android Tests (JB Nexus7)(dbg)',
  166. 'Android Tests (JB Manta)(dbg)',
  167. 'Android ChromeDriver Tests (dbg)',
  168. 'Android Tests (N5)',
  169. 'Android Tests (K N5, user build)(dbg)',
  170. 'Android Tests (amp)(dbg)'])
  171. # Triggerable scheduler for Cronet Builder
  172. s_chromium_cronet_rel = Triggerable(
  173. name='cronet_rel',
  174. builderNames=['Android Cronet ARMv6 Builder',
  175. 'Android Cronet ARM64 Builder',
  176. 'Android Cronet x86 Builder',
  177. 'Android Cronet MIPS Builder',
  178. 'Android Cronet Builder (dbg)',
  179. 'Android Cronet ARM64 Builder (dbg)',
  180. 'Android Cronet x86 Builder (dbg)'])
  181. # Windows Dr. Memory build-bot list
  182. t_drmemory_bots=[
  183. 'Windows Tests (DrMemory XP)',
  184. 'Windows Tests (DrMemory)',
  185. ]
  186. # Windows Browser (DrMemory light)
  187. WINDOWS_BROWSER_DRMEMORY_LIGHT_TESTERS = 2
  188. for i in range(WINDOWS_BROWSER_DRMEMORY_LIGHT_TESTERS):
  189. t_drmemory_bots.append('Windows Browser (DrMemory light) (%d)' % (i+1))
  190. s_chromium_windows_drmemory_trigger = Triggerable(
  191. name='chromium_windows_drmemory',
  192. builderNames=t_drmemory_bots)
  193. # Windows Dr. Memory x64 build-bot list
  194. t_drmemory_64_bots=[
  195. 'Windows Tests (DrMemory x64)',
  196. ]
  197. s_chromium_windows_drmemory_64_trigger = Triggerable(
  198. name='chromium_windows_drmemory_64',
  199. builderNames=t_drmemory_64_bots)
  200. # Triggerable scheduler for Linux ARM
  201. s_chromium_linux_arm = Triggerable(
  202. name='chromium_linux_arm',
  203. builderNames=[
  204. 'Linux ARM Tests (Panda)'
  205. ])
  206. # Triggerable schedulers for clang/win bots
  207. s_win_clang = Triggerable(
  208. name='cr_win_clang', builderNames=['CrWinClang tester'])
  209. s_win_clang_dbg = Triggerable(
  210. name='cr_win_clang_dbg', builderNames=['CrWinClang(dbg) tester'])
  211. s_win_clang_shared = Triggerable(
  212. name='cr_win_clang_shared', builderNames=['CrWinClang(shared) tester'])
  213. s_win_clang_64 = Triggerable(
  214. name='cr_win_clang_64',
  215. builderNames=['CrWinClang64 tester'])
  216. s_win_clang_64_dbg = Triggerable(
  217. name='cr_win_clang_64_dbg',
  218. builderNames=['CrWinClang64(dbg) tester'])
  219. s_win_clang_64_shared = Triggerable(
  220. name='cr_win_clang_64_shared',
  221. builderNames=['CrWinClang64(dll) tester'])
  222. s_win_clang_lld = Triggerable(
  223. name='cr_win_clang_lld', builderNames=['CrWinClangLLD tester'])
  224. s_win_clang_asan = Triggerable(
  225. name='cr_win_clang_asan', builderNames=['CrWinAsan tester'])
  226. s_win_clang_asan_shared = Triggerable(
  227. name='cr_win_clang_asan_shared', builderNames=['CrWinAsan(dll) tester'])
  228. # Triggerable schedulers for Clang ToT bots.
  229. s_clang_tot_linux = Triggerable(
  230. name='clang_tot_linux', builderNames=['ClangToTLinux tester'])
  231. s_clang_tot_linux_asan = Triggerable(
  232. name='clang_tot_linux_asan', builderNames=['ClangToTLinuxASan tester'])
  233. s_clang_tot_mac = Triggerable(
  234. name='clang_tot_mac', builderNames=['ClangToTMac tester'])
  235. s_clang_tot_mac_asan = Triggerable(
  236. name='clang_tot_mac_asan', builderNames=['ClangToTMacASan tester'])
  237. c['schedulers'] = [s_chromium,
  238. s_chromium_android_dbg,
  239. s_chromium_cronet_rel,
  240. s_chromium_win_rel,
  241. s_chromium_win_dbg,
  242. s_chromium_windows_drmemory_trigger,
  243. s_chromium_windows_drmemory_64_trigger,
  244. s_chromium_linux_arm,
  245. s_win_clang,
  246. s_win_clang_dbg,
  247. s_win_clang_shared,
  248. s_win_clang_64,
  249. s_win_clang_64_dbg,
  250. s_win_clang_64_shared,
  251. s_win_clang_lld,
  252. s_win_clang_asan,
  253. s_win_clang_asan_shared,
  254. s_practice,
  255. s_practice_builder,
  256. s_clang_tot_linux,
  257. s_clang_tot_linux_asan,
  258. s_clang_tot_mac,
  259. s_clang_tot_mac_asan,
  260. ]
  261. ####### BUILDERS
  262. # buildbot/process/factory.py provides several BuildFactory classes you can
  263. # start with, which implement build processes for common targets (GNU
  264. # autoconf projects, CPAN perl modules, etc). The factory.BuildFactory is the
  265. # base class, and is configured with a series of BuildSteps. When the build
  266. # is run, the appropriate buildslave is told to execute each Step in turn.
  267. # the first BuildStep is typically responsible for obtaining a copy of the
  268. # sources. There are source-obtaining Steps in buildbot/process/step.py for
  269. # CVS, SVN, and others.
  270. builders = []
  271. # ----------------------------------------------------------------------------
  272. # FACTORIES
  273. F = chromium_factory.ChromiumFactory
  274. def win(): return F('src/chrome', 'win32')
  275. def win_build(): return F('src/build', 'win32')
  276. def win_out(): return F('src/out', 'win32')
  277. def mac(): return F('src/xcodebuild', 'darwin')
  278. def linux(**kwargs): return F('src/out', 'linux2', **kwargs)
  279. def ios(): return F('src/xcodebuild', 'darwin')
  280. def chromeos():
  281. return F('src/build', 'linux2')
  282. def linux_android(custom_deps_list=None):
  283. return F('src/build', 'linux2', nohooks_on_update=True, target_os='android',
  284. custom_deps_list=custom_deps_list)
  285. chromium_rel_archive = master_config.GetGSUtilUrl(
  286. 'chromium-build-transfer', 'Chromium FYI Builder')
  287. chromium_dbg_archive = master_config.GetGSUtilUrl(
  288. 'chromium-build-transfer', 'Chromium FYI Builder (dbg)')
  289. chromium_windows_drmemory_archive = master_config.GetGSUtilUrl(
  290. 'chromium-build-transfer', 'drm-cr')
  291. chromium_windows_drmemory_64_archive = master_config.GetGSUtilUrl(
  292. 'chromium-build-transfer', 'drm-cr-64')
  293. chromium_android_fyi_dbg_archive = master_config.GetGSUtilUrl(
  294. 'chromium-android', 'android_fyi_dbg')
  295. # The identifier of the factory is the build configuration. If two factories
  296. # are using the same build configuration, they should have the same identifier.
  297. f_chromium_rel_builder = win_build().ChromiumFactory(
  298. slave_type='Builder',
  299. build_url=chromium_rel_archive,
  300. project='all.sln;chromium_builder_tests',
  301. factory_properties={'trigger': 'win_rel',
  302. 'gclient_env': {
  303. 'GYP_DEFINES': 'fastbuild=1',
  304. }})
  305. f_chromium_dbg_builder = win_build().ChromiumFactory(
  306. slave_type='Builder',
  307. build_url=chromium_dbg_archive,
  308. target='Debug',
  309. project='all.sln;chromium_builder_tests',
  310. factory_properties={'trigger': 'win_dbg',
  311. 'gclient_env': {
  312. 'GYP_DEFINES': 'fastbuild=1',
  313. }})
  314. f_chromium_win_pgo_builder = \
  315. annotator_factory.AnnotatorFactory().BaseFactory(recipe='chromium_pgo',
  316. timeout=24000)
  317. f_chromium_win_x64_pgo_builder = \
  318. annotator_factory.AnnotatorFactory().BaseFactory(recipe='chromium_pgo',
  319. timeout=24000)
  320. f_linux_mojo = linux().ChromiumFactory(target='Release',
  321. slave_type='Builder',
  322. options=['--compiler=goma'],
  323. factory_properties={
  324. 'expectations': True,
  325. 'halt_on_missing_build': True,
  326. 'perf_id': 'linux-release-fyi'},
  327. tests=['buildrunner_tests'])
  328. f_win_analyze = \
  329. annotator_factory.AnnotatorFactory().BaseFactory(
  330. recipe='win_analyze')
  331. f_win_mojo = win_build().ChromiumFactory(slave_type='Builder',
  332. project='all.sln;chromium_builder_tests',
  333. factory_properties={
  334. 'expectations': True,
  335. 'halt_on_missing_build': True,
  336. 'perf_id': 'chromium-rel-win7-dual-fyi',
  337. 'process_dumps': True,
  338. 'start_crash_handler': True,},
  339. tests=['buildrunner_tests',
  340. 'mojo_common_unittests',
  341. 'mojo_public_bindings_unittests',
  342. 'mojo_public_environment_unittests',
  343. 'mojo_public_system_unittests',
  344. 'mojo_public_utility_unittests',
  345. 'mojo_system_unittests'])
  346. f_win_instantextended = win_build().ChromiumFactory(
  347. project='all.sln;chromium_builder_tests',
  348. tests=[
  349. 'instant_extended_manual_tests',
  350. 'buildrunner_tests',
  351. ],
  352. slave_type='BuilderTester',
  353. factory_properties={
  354. 'gclient_env': {
  355. 'GYP_DEFINES': 'fastbuild=1',
  356. },
  357. 'process_dumps': True,
  358. 'start_crash_handler': True,
  359. 'generate_gtest_json': True,
  360. })
  361. f_linux_buildrunner = linux().ChromiumFactory(
  362. tests=['base_unittests_br',
  363. 'browser_tests_br',
  364. 'cacheinvalidation_br',
  365. 'content_browsertests_br',
  366. 'crypto_br',
  367. 'dbus_br',
  368. 'display_unittests_br',
  369. 'gfx_unittests_br',
  370. 'gpu_br',
  371. 'jingle_br',
  372. 'media_br',
  373. 'net_br',
  374. 'ppapi_unittests_br',
  375. 'printing_br',
  376. 'remoting_br',
  377. 'unit_br',
  378. 'url_unittests_br',
  379. 'buildrunner_tests',
  380. ],
  381. options=['--compiler=goma'],
  382. slave_type='Builder',
  383. factory_properties={
  384. 'archive_build': False,
  385. 'generate_gtest_json': True,
  386. 'gclient_env': {
  387. 'GYP_DEFINES': 'target_arch=x64 '
  388. 'tests_run=noop,component=shared_library'}
  389. })
  390. f_win_buildrunner = win_build().ChromiumFactory(
  391. project='all.sln;chromium_builder_tests',
  392. tests=['base_unittests_br',
  393. 'browser_tests_br',
  394. 'cacheinvalidation_br',
  395. 'content_browsertests_br',
  396. 'courgette_br',
  397. 'crypto_br',
  398. 'gfx_unittests_br',
  399. 'gpu_br',
  400. 'installer_br',
  401. 'jingle_br',
  402. 'media_br',
  403. 'ppapi_unittests_br',
  404. 'printing_br',
  405. 'remoting_br',
  406. 'sandbox_br',
  407. 'url_unittests_br',
  408. 'buildrunner_tests',
  409. ],
  410. slave_type='Builder',
  411. factory_properties={'gclient_env': {'GYP_DEFINES': 'fastbuild=1'},
  412. 'process_dumps': True,
  413. 'start_crash_handler': True,
  414. 'generate_gtest_json': True,
  415. 'archive_build': False,
  416. })
  417. f_mac_buildrunner = mac().ChromiumFactory(
  418. tests=['base_unittests_br',
  419. 'browser_tests_br',
  420. 'cacheinvalidation_br',
  421. 'content_browsertests_br',
  422. 'crypto_br',
  423. 'url_unittests_br',
  424. 'gpu_br',
  425. 'jingle_br',
  426. 'media_br',
  427. 'message_center_unittests_br',
  428. 'ppapi_unittests_br',
  429. 'printing_br',
  430. 'remoting_br',
  431. 'buildrunner_tests',
  432. ],
  433. options=['--compiler=goma-clang', '--', '-target',
  434. 'chromium_builder_tests'],
  435. factory_properties={
  436. 'archive_build': False,
  437. 'generate_gtest_json': True
  438. })
  439. def without(these, notthese):
  440. return [x for x in these if x not in notthese]
  441. tests_win_1 = ['base_unittests',
  442. 'cacheinvalidation_unittests',
  443. 'chrome_elf_unittests',
  444. 'components_unittests',
  445. 'courgette_unittests',
  446. 'crypto_unittests',
  447. 'device_unittests',
  448. 'extensions_unittests',
  449. 'gcm_unit_tests',
  450. 'google_apis_unittests',
  451. 'gpu',
  452. 'installer',
  453. 'jingle',
  454. 'media',
  455. 'net',
  456. 'ppapi_unittests',
  457. 'printing',
  458. 'remoting',
  459. 'sandbox',
  460. 'unit',
  461. 'url_unittests',
  462. ]
  463. tests_win_2 = ['browser_tests',
  464. 'content_browsertests']
  465. f_chromium_dbg_tests_1 = win_build().ChromiumFactory(
  466. slave_type='Tester',
  467. target='Debug',
  468. build_url=chromium_dbg_archive,
  469. tests=tests_win_1,
  470. factory_properties={'process_dumps': True,
  471. 'start_crash_handler': True})
  472. f_chromium_dbg_tests_2 = win_build().ChromiumFactory(
  473. slave_type='Tester',
  474. target='Debug',
  475. build_url=chromium_dbg_archive,
  476. tests=tests_win_2,
  477. factory_properties={'process_dumps': True,
  478. 'start_crash_handler': True})
  479. f_chromium_rel_tests_1 = win_build().ChromiumFactory(
  480. slave_type='Tester',
  481. build_url=chromium_rel_archive,
  482. tests=tests_win_1,
  483. factory_properties={'process_dumps': True,
  484. 'start_crash_handler': True})
  485. f_chromium_rel_tests_2 = win_build().ChromiumFactory(
  486. slave_type='Tester',
  487. build_url=chromium_rel_archive,
  488. tests=tests_win_2,
  489. factory_properties={'process_dumps': True,
  490. 'start_crash_handler': True})
  491. f_cr_win_rel_mini_installer = win_build().ChromiumFactory(
  492. slave_type='Tester',
  493. build_url=chromium_rel_archive,
  494. tests=['test_installer'],
  495. factory_properties={'process_dumps': True,
  496. 'start_crash_handler': True,})
  497. f_chromium_rel_win_morenacl = win().ChromiumFactory(
  498. target='Release',
  499. slave_type='Tester',
  500. build_url=chromium_rel_archive,
  501. tests=['nacl_integration'],
  502. factory_properties={'process_dumps': True,
  503. 'start_crash_handler': True})
  504. f_chromium_rel_mac_morenacl = mac().ChromiumFactory(
  505. target='Release',
  506. tests=['nacl_integration'],
  507. options=['--compiler=goma-clang'])
  508. f_chromium_rel_linux_morenacl = linux().ChromiumFactory(
  509. target='Release',
  510. tests=['nacl_integration'])
  511. f_blink_linux_lsan_asan = linux().ChromiumFactory(
  512. tests=['webkit'],
  513. options=[
  514. '--build-tool=ninja',
  515. '--compiler=goma-clang',
  516. '--',
  517. 'blink_tests'
  518. ],
  519. factory_properties={
  520. 'additional_expectations': [
  521. ['third_party', 'WebKit', 'LayoutTests', 'ASANExpectations' ],
  522. ],
  523. 'archive_webkit_results': False,
  524. 'asan': True,
  525. 'blink_config': 'blink',
  526. 'gclient_env': {
  527. 'GYP_DEFINES': 'asan=1 lsan=1',
  528. 'GYP_GENERATORS': 'ninja',
  529. },
  530. 'generate_gtest_json': True,
  531. 'lsan': True,
  532. 'time_out_ms': '48000',
  533. 'webkit_test_options': ['--enable-sanitizer'],
  534. }
  535. )
  536. # DrMemory Builder
  537. f_chromium_windows_drmemory_builder = win_out().ChromiumFactory(
  538. target='Release',
  539. slave_type='Builder',
  540. # TODO(bruening): remove "_dbg" from this name in all.gyp as it is
  541. # not limited to just Debug.
  542. options=['--build-tool=ninja', '--', 'chromium_builder_dbg_drmemory_win'],
  543. factory_properties={
  544. 'gclient_env': { 'GYP_DEFINES' : ('build_for_tool=drmemory '
  545. 'component=shared_library'),
  546. },
  547. 'package_pdb_files': True,
  548. 'trigger': 'chromium_windows_drmemory',
  549. 'build_url': chromium_windows_drmemory_archive,
  550. }
  551. )
  552. # DrMemory x64 Builder
  553. f_chromium_windows_drmemory_64_builder = win_out().ChromiumFactory(
  554. target='Release_x64',
  555. slave_type='Builder',
  556. # TODO(bruening): remove "_dbg" from this name in all.gyp as it is
  557. # not limited to just Debug.
  558. options=['--build-tool=ninja', '--', 'chromium_builder_dbg_drmemory_win'],
  559. factory_properties={
  560. 'gclient_env': {
  561. 'GYP_DEFINES' : (
  562. 'build_for_tool=drmemory component=shared_library '
  563. 'target_arch=x64'),
  564. },
  565. 'package_pdb_files': True,
  566. 'trigger': 'chromium_windows_drmemory',
  567. 'build_url': chromium_windows_drmemory_64_archive,
  568. }
  569. )
  570. # Windows Tests (DrMemory XP)
  571. f_chromium_rel_win_drmemory = win_out().ChromiumFactory(
  572. slave_type='Tester',
  573. target='Release',
  574. build_url=chromium_windows_drmemory_archive,
  575. tests=[
  576. 'drmemory_light_url',
  577. 'drmemory_light_printing',
  578. 'drmemory_light_media',
  579. 'drmemory_light_sql',
  580. 'drmemory_light_crypto',
  581. 'drmemory_light_remoting',
  582. 'drmemory_light_ipc_tests',
  583. 'drmemory_light_base_unittests',
  584. 'drmemory_light_net',
  585. # run tests in shards to decrease the number of reports per shard.
  586. 'drmemory_light_unit_1_of_3',
  587. 'drmemory_light_unit_2_of_3',
  588. 'drmemory_light_unit_3_of_3',
  589. ],
  590. factory_properties={'halt_on_missing_build': True}
  591. )
  592. # Windows Tests (DrMemory)
  593. f_chromium_rel_win_tests_drmemory = win_out().ChromiumFactory(
  594. slave_type='Tester',
  595. target='Release',
  596. build_url=chromium_windows_drmemory_archive,
  597. tests=[
  598. 'drmemory_light_webkit',
  599. 'drmemory_full_webkit',
  600. ],
  601. factory_properties={'halt_on_missing_build': True}
  602. )
  603. # Windows Tests (DrMemory x64)
  604. f_chromium_rel_win_tests_drmemory_64 = win_out().ChromiumFactory(
  605. slave_type='Tester',
  606. target='Release',
  607. build_url=chromium_windows_drmemory_64_archive,
  608. tests=[
  609. 'drmemory_light_url',
  610. 'drmemory_light_printing',
  611. 'drmemory_light_media',
  612. ],
  613. factory_properties={'halt_on_missing_build': True}
  614. )
  615. win_x64_tests = [
  616. 'base_unittests',
  617. 'cacheinvalidation_unittests',
  618. 'cc_unittests',
  619. 'chromedriver_unittests',
  620. 'components_unittests',
  621. 'content_browsertests',
  622. 'courgette_unittests',
  623. 'crypto_unittests',
  624. 'gcm_unit_tests',
  625. 'gpu',
  626. 'installer',
  627. 'interactive_ui_tests',
  628. 'jingle',
  629. 'media',
  630. 'nacl_integration',
  631. 'net',
  632. 'ppapi_unittests',
  633. 'printing',
  634. 'remoting',
  635. 'sandbox',
  636. 'unit',
  637. 'url_unittests',
  638. # These are long, so do them last
  639. 'browser_tests',
  640. 'sync_integration',
  641. ]
  642. f_chromium_win_x64 = win_out().ChromiumFactory(
  643. slave_type='BuilderTester',
  644. clobber=True,
  645. target='Release_x64',
  646. tests=win_x64_tests,
  647. options=['--build-tool=ninja', '--', 'chromium_builder_tests'],
  648. factory_properties={
  649. 'gclient_env': {
  650. 'GYP_DEFINES': 'target_arch=x64',
  651. }})
  652. f_chromium_win_shared_2013_dbg = win_out().ChromiumFactory(
  653. slave_type='BuilderTester',
  654. options=['chromium_builder_tests'],
  655. tests=tests_win_1,
  656. target='Debug',
  657. factory_properties={
  658. 'gclient_env': {
  659. 'GYP_DEFINES': 'component=shared_library fastbuild=1',
  660. }})
  661. f_chromium_win_shared_2013 = win_out().ChromiumFactory(
  662. slave_type='BuilderTester',
  663. options=['chromium_builder_tests'],
  664. tests=tests_win_1,
  665. target='Release',
  666. factory_properties={
  667. 'gclient_env': {
  668. 'GYP_DEFINES': 'component=shared_library fastbuild=1',
  669. }})
  670. f_chromium_dbg_android_builder = \
  671. linux_android().ChromiumAnnotationFactory(
  672. target='Debug',
  673. slave_type='AnnotatedBuilder',
  674. annotation_script='src/build/android/buildbot/bb_run_bot.py',
  675. factory_properties={
  676. 'android_bot_id': 'fyi-builder-dbg',
  677. 'build_url': chromium_android_fyi_dbg_archive,
  678. 'trigger': 'android_dbg',
  679. })
  680. f_chromium_dbg_android_mips_builder = \
  681. annotator_factory.AnnotatorFactory().BaseFactory(
  682. recipe='android/builder')
  683. f_chromium_dbg_android_x86_builder = \
  684. linux_android().ChromiumAnnotationFactory(
  685. target='Debug',
  686. slave_type='AnnotatedBuilder',
  687. annotation_script='src/build/android/buildbot/bb_run_bot.py',
  688. factory_properties={
  689. 'android_bot_id': 'fyi-x86-builder-dbg',
  690. })
  691. f_chromium_rel_android_builder_tests = \
  692. linux_android().ChromiumAnnotationFactory(
  693. target='Release',
  694. slave_type='AnnotatedBuilder',
  695. annotation_script='src/build/android/buildbot/bb_run_bot.py',
  696. factory_properties={
  697. 'android_bot_id': 'fyi-user-builder-unit-tests-rel',
  698. })
  699. f_chromium_dbg_android_shared = \
  700. linux_android().ChromiumAnnotationFactory(
  701. target='Debug',
  702. slave_type='AnnotatedBuilder',
  703. annotation_script='src/build/android/buildbot/bb_run_bot.py',
  704. factory_properties={
  705. 'android_bot_id': 'fyi-component-builder-tests-dbg',
  706. })
  707. def f_chromium_dbg_android_tests(bot_id_suffix):
  708. return linux_android().ChromiumAnnotationFactory(
  709. target='Debug',
  710. annotation_script='src/build/android/buildbot/bb_run_bot.py',
  711. factory_properties={
  712. 'android_bot_id': 'fyi-tests-dbg-%s' % bot_id_suffix,
  713. 'build_url': chromium_android_fyi_dbg_archive,
  714. 'gclient_timeout': 3600
  715. })
  716. def f_chromium_dbg_android_tests_user_build(bot_id_suffix):
  717. return linux_android().ChromiumAnnotationFactory(
  718. target='Debug',
  719. annotation_script='src/build/android/buildbot/bb_run_bot.py',
  720. factory_properties={
  721. 'android_bot_id': 'user-build-fyi-tests-dbg-%s' % bot_id_suffix,
  722. 'build_url': chromium_android_fyi_dbg_archive,
  723. 'gclient_timeout': 3600
  724. })
  725. f_chromium_dbg_android_chromedriver_tests = \
  726. linux_android(
  727. custom_deps_list=[F.CUSTOM_DEPS_WEBDRIVER_JAVA_TESTS]
  728. ).ChromiumAnnotationFactory(
  729. target='Debug',
  730. annotation_script='src/build/android/buildbot/bb_run_bot.py',
  731. factory_properties={
  732. 'android_bot_id': 'chromedriver-fyi-tests-dbg',
  733. 'build_url': chromium_android_fyi_dbg_archive,
  734. })
  735. f_chromium_dbg_android_asan_builder_tests = \
  736. linux_android().ChromiumAnnotationFactory(
  737. target='Debug',
  738. annotation_script='src/build/android/buildbot/bb_run_bot.py',
  739. factory_properties={
  740. 'android_bot_id': 'asan-builder-tests-dbg',
  741. })
  742. f_chromium_dbg_android_aosp_builder = \
  743. annotator_factory.AnnotatorFactory().BaseFactory(
  744. recipe='android_webview_aosp')
  745. f_chromium_mac_1010 = annotator_factory.AnnotatorFactory().BaseFactory(
  746. 'chromium')
  747. f_windows_8_app_certification = win().ChromiumFactory(
  748. tests=[],
  749. options=[],
  750. factory_properties={})
  751. f_chromiumos_linux_tests = linux().ChromiumFactory(
  752. slave_type='BuilderTester',
  753. target='Debug',
  754. tests=['sync_integration'],
  755. factory_properties={
  756. 'test_results_server': 'test-results.appspot.com',
  757. 'generate_gtest_json': True,
  758. })
  759. # ----------------------------------------------------------------------------
  760. # BUILDER DEFINITIONS
  761. # The 'builders' list defines the Builders. Each one is configured with a
  762. # dictionary, using the following keys:
  763. # name (required): the name used to describe this bilder
  764. # slavename (required): which slave to use, must appear in c['slaves']
  765. # builddir (optional): which subdirectory to run the builder in
  766. # factory (required): a BuildFactory to define how the build is run
  767. # periodicBuildTime (optional): if set, force a build every N seconds
  768. # category (optional): it is not used in the normal 'buildbot' meaning. It is
  769. # used by gatekeeper to determine which steps it should
  770. # look for to close the tree.
  771. #
  772. m_annotator = annotator_factory.AnnotatorFactory()
  773. b_linux_practice = {
  774. 'name': 'ChromiumPractice',
  775. 'builddir': 'chromiumpractice',
  776. 'factory': m_annotator.BaseFactory('chromium', triggers=['cr_practice']),
  777. 'category': 'githack',
  778. 'auto_reboot': False,
  779. }
  780. b_linux_practice_tester = {
  781. 'name': 'ChromiumPracticeTester',
  782. 'factory': m_annotator.BaseFactory('chromium'),
  783. 'category': 'githack',
  784. 'auto_reboot': False,
  785. }
  786. b_chromium_lin_mojo = {'name': 'Chromium Linux Mojo',
  787. 'builddir': 'Chromium_Linux_Mojo',
  788. 'factory': f_linux_mojo,
  789. 'auto_reboot': False,
  790. }
  791. b_chromium_win_analyze = {'name': 'Chromium Windows Analyze',
  792. 'builddir': 'Chromium_Windows_Analyze',
  793. 'factory': f_win_analyze,
  794. 'auto_reboot': False,
  795. }
  796. b_chromium_win_mojo = {'name': 'Chromium Windows Mojo',
  797. 'builddir': 'Chromium_Windows_Mojo',
  798. 'factory': f_win_mojo,
  799. 'auto_reboot': False,
  800. }
  801. b_chromium_win_instantextended = {'name': 'Chromium Windows Instant Extended',
  802. 'builddir': 'Chromium_Windows_Instant_Extended',
  803. 'factory': f_win_instantextended,
  804. 'auto_reboot': False,
  805. }
  806. b_chromium_lin_buildrunner = {'name': 'Chromium Linux Buildrunner',
  807. 'builddir': 'Chromium_Linux_Buildrunner',
  808. 'factory': f_linux_buildrunner,
  809. 'auto_reboot': False,
  810. }
  811. b_chromium_win_buildrunner = {'name': 'Chromium Windows Buildrunner',
  812. 'builddir': 'Chromium_Windows_Buildrunner',
  813. 'factory': f_win_buildrunner,
  814. 'auto_reboot': False,
  815. }
  816. b_chromium_mac_buildrunner = {'name': 'Chromium Mac Buildrunner',
  817. 'builddir': 'Chromium_Mac_Buildrunner',
  818. 'factory': f_mac_buildrunner,
  819. 'slavebuilddir': 'mac_buildrunner_slave',
  820. 'auto_reboot': False,
  821. }
  822. b_chromium_mac_10_8_buildrunner = {'name': 'Chromium Mac 10.8 Buildrunner',
  823. 'builddir': 'Chromium_Mac_10_8_Buildrunner',
  824. 'factory': f_mac_buildrunner,
  825. 'auto_reboot': False,
  826. }
  827. b_chromium_mac_10_9_buildrunner = {'name': 'Chromium Mac 10.9 Buildrunner',
  828. 'builddir': 'Chromium_Mac_10_9_Buildrunner',
  829. 'factory': f_mac_buildrunner,
  830. 'auto_reboot': False,
  831. }
  832. b_chromium_rel_builder = {'name': 'Chromium Builder',
  833. 'builddir': 'chromium-rel-builder',
  834. 'factory': f_chromium_rel_builder,
  835. 'category': 'windows',
  836. 'auto_reboot': False,
  837. }
  838. b_chromium_dbg_builder = {'name': 'Chromium Builder (dbg)',
  839. 'builddir': 'chromium-dbg-builder',
  840. 'factory': f_chromium_dbg_builder,
  841. 'category': 'windows',
  842. 'auto_reboot': False,
  843. }
  844. b_chromium_win_pgo_builder = {
  845. 'name': 'Chromium Win PGO Builder',
  846. 'builddir': 'chromium-win-pgo-builder',
  847. 'factory': f_chromium_win_pgo_builder,
  848. 'category': 'windows',
  849. 'auto_reboot': False,
  850. }
  851. b_chromium_win_x64_pgo_builder = {
  852. 'name': 'Chromium Win x64 PGO Builder',
  853. 'builddir': 'chromium-win-x64-pgo-builder',
  854. 'factory': f_chromium_win_x64_pgo_builder,
  855. 'category': 'windows',
  856. 'auto_reboot': False,
  857. }
  858. b_chromium_dbg_vista_tests_1 = {
  859. 'name': 'Vista Tests (dbg)(1)',
  860. 'factory': f_chromium_dbg_tests_1,
  861. 'category': 'windows',
  862. 'auto_reboot': False,
  863. }
  864. b_chromium_dbg_vista_tests_2 = {
  865. 'name': 'Vista Tests (dbg)(2)',
  866. 'factory': f_chromium_dbg_tests_2,
  867. 'category': 'windows',
  868. 'auto_reboot': False,
  869. }
  870. b_chromium_rel_win8_tests_1 = {
  871. 'name': 'Win8 Tests (1)',
  872. 'factory': f_chromium_rel_tests_1,
  873. 'category': 'windows',
  874. 'auto_reboot': False,
  875. }
  876. b_chromium_rel_win8_tests_2 = {
  877. 'name': 'Win8 Tests (2)',
  878. 'factory': f_chromium_rel_tests_2,
  879. 'category': 'windows',
  880. 'auto_reboot': False,
  881. }
  882. b_blink_linux_lsan_asan = {
  883. 'name': 'Blink Linux LSan ASan',
  884. 'builddir': 'blink-linux-lsan-asan',
  885. 'factory': f_blink_linux_lsan_asan,
  886. 'category': 'Sanitizers',
  887. 'auto_reboot': True,
  888. }
  889. b_chromium_rel_win32_morenacl = {
  890. 'name': 'More NaCl Tests (win32)',
  891. 'builddir': 'chromium-rel-win32-morenacl',
  892. 'factory': f_chromium_rel_win_morenacl,
  893. 'category': 'morenacl',
  894. 'auto_reboot': False,
  895. }
  896. b_chromium_rel_win64_morenacl = {
  897. 'name': 'More NaCl Tests (win64)',
  898. 'builddir': 'chromium-rel-win64-morenacl',
  899. 'factory': f_chromium_rel_win_morenacl,
  900. 'category': 'morenacl',
  901. 'auto_reboot': False,
  902. }
  903. b_chromium_rel_mac_morenacl = {
  904. 'name': 'More NaCl Tests (mac)',
  905. 'builddir': 'chromium-rel-mac-morenacl',
  906. 'factory': f_chromium_rel_mac_morenacl,
  907. 'category': 'morenacl',
  908. 'auto_reboot': False,
  909. }
  910. b_chromium_rel_linux_morenacl = {
  911. 'name': 'More NaCl Tests (linux)',
  912. 'builddir': 'chromium-rel-linux-morenacl',
  913. 'factory': f_chromium_rel_linux_morenacl,
  914. 'category': 'morenacl',
  915. 'auto_reboot': False,
  916. }
  917. b_chromium_win_goma = {
  918. 'name': 'CrWinGoma',
  919. 'factory': m_annotator.BaseFactory('chromium'),
  920. 'category': 'goma',
  921. 'auto_reboot': False,
  922. }
  923. b_chromium_win_goma_shared = {
  924. 'name': 'CrWinGoma(dll)',
  925. 'factory': m_annotator.BaseFactory('chromium'),
  926. 'category': 'goma',
  927. 'auto_reboot': False,
  928. }
  929. b_chromium_win7_goma = {
  930. 'name': 'CrWin7Goma',
  931. 'factory': m_annotator.BaseFactory('chromium'),
  932. 'category': 'goma',
  933. 'auto_reboot': False,
  934. }
  935. b_chromium_win7_goma_shared = {
  936. 'name': 'CrWin7Goma(dll)',
  937. 'factory': m_annotator.BaseFactory('chromium'),
  938. 'category': 'goma',
  939. 'auto_reboot': False,
  940. }
  941. b_chromium_win7_goma_dbg = {
  942. 'name': 'CrWin7Goma(dbg)',
  943. 'factory': m_annotator.BaseFactory('chromium'),
  944. 'category': 'goma',
  945. 'auto_reboot': False,
  946. }
  947. b_chromium_win7_goma_clobber = {
  948. 'name': 'CrWin7Goma(clbr)',
  949. 'factory': m_annotator.BaseFactory('chromium'),
  950. 'category': 'goma',
  951. 'auto_reboot': False,
  952. }
  953. b_chromium_win_clang_goma = {
  954. 'name': 'CrWinClangGoma',
  955. 'factory': m_annotator.BaseFactory('chromium', timeout=3000),
  956. 'category': 'goma',
  957. 'auto_reboot': False,
  958. }
  959. b_chromium_win_x64 = {
  960. 'name': 'Chromium Win x64 Clobber',
  961. 'factory': f_chromium_win_x64,
  962. 'category': 'windows',
  963. 'auto_reboot': False,
  964. }
  965. b_chromium_win_clang = {
  966. 'name': 'CrWinClang',
  967. 'factory': m_annotator.BaseFactory('chromium', triggers=['cr_win_clang']),
  968. 'category': 'win clang',
  969. 'auto_reboot': False,
  970. }
  971. b_chromium_win_clang_tester = {
  972. 'name': 'CrWinClang tester',
  973. 'factory': m_annotator.BaseFactory('chromium'),
  974. 'category': 'win clang',
  975. 'auto_reboot': False,
  976. }
  977. b_chromium_win_clang_dbg = {
  978. 'name': 'CrWinClang(dbg)',
  979. 'factory': m_annotator.BaseFactory('chromium', triggers=['cr_win_clang_dbg']),
  980. 'category': 'win clang',
  981. 'auto_reboot': False,
  982. }
  983. b_chromium_win_clang_dbg_tester = {
  984. 'name': 'CrWinClang(dbg) tester',
  985. 'factory': m_annotator.BaseFactory('chromium'),
  986. 'category': 'win clang',
  987. 'auto_reboot': False,
  988. }
  989. b_chromium_win_clang_shared = {
  990. 'name': 'CrWinClang(shared)',
  991. 'factory': m_annotator.BaseFactory('chromium',
  992. triggers=['cr_win_clang_shared']),
  993. 'category': 'win clang',
  994. 'auto_reboot': False,
  995. }
  996. b_chromium_win_clang_shared_tester = {
  997. 'name': 'CrWinClang(shared) tester',
  998. 'factory': m_annotator.BaseFactory('chromium'),
  999. 'category': 'win clang',
  1000. 'auto_reboot': False,
  1001. }
  1002. b_chromium_win_clang_64 = {
  1003. 'name': 'CrWinClang64',
  1004. 'factory': m_annotator.BaseFactory('chromium', triggers=['cr_win_clang_64']),
  1005. 'category': 'win clang',
  1006. 'auto_reboot': False,
  1007. }
  1008. b_chromium_win_clang_64_tester = {
  1009. 'name': 'CrWinClang64 tester',
  1010. 'factory': m_annotator.BaseFactory('chromium'),
  1011. 'category': 'win clang',
  1012. 'auto_reboot': False,
  1013. }
  1014. b_chromium_win_clang_64_dbg = {
  1015. 'name': 'CrWinClang64(dbg)',
  1016. 'factory': m_annotator.BaseFactory('chromium',
  1017. triggers=['cr_win_clang_64_dbg']),
  1018. 'category': 'win clang',
  1019. 'auto_reboot': False,
  1020. }
  1021. b_chromium_win_clang_64_dbg_tester = {
  1022. 'name': 'CrWinClang64(dbg) tester',
  1023. 'factory': m_annotator.BaseFactory('chromium'),
  1024. 'category': 'win clang',
  1025. 'auto_reboot': False,
  1026. }
  1027. b_chromium_win_clang_64_shared = {
  1028. 'name': 'CrWinClang64(dll)',
  1029. 'factory': m_annotator.BaseFactory('chromium',
  1030. triggers=['cr_win_clang_64_shared']),
  1031. 'category': 'win clang',
  1032. 'auto_reboot': False,
  1033. }
  1034. b_chromium_win_clang_64_shared_tester = {
  1035. 'name': 'CrWinClang64(dll) tester',
  1036. 'factory': m_annotator.BaseFactory('chromium'),
  1037. 'category': 'win clang',
  1038. 'auto_reboot': False,
  1039. }
  1040. b_chromium_win_clang_lld = {
  1041. 'name': 'CrWinClangLLD',
  1042. 'factory': m_annotator.BaseFactory('chromium', triggers=['cr_win_clang_lld']),
  1043. 'category': 'win clang',
  1044. 'auto_reboot': False,
  1045. }
  1046. b_chromium_win_clang_lld_tester = {
  1047. 'name': 'CrWinClangLLD tester',
  1048. 'factory': m_annotator.BaseFactory('chromium'),
  1049. 'category': 'win clang',
  1050. 'auto_reboot': False,
  1051. }
  1052. b_chromium_win_clang_asan = {
  1053. 'name': 'CrWinAsan',
  1054. 'factory': m_annotator.BaseFactory('chromium',
  1055. triggers=['cr_win_clang_asan']),
  1056. 'category': 'win clang',
  1057. 'auto_reboot': False,
  1058. }
  1059. b_chromium_win_clang_asan_tester = {
  1060. 'name': 'CrWinAsan tester',
  1061. 'factory': m_annotator.BaseFactory('chromium'),
  1062. 'category': 'win clang',
  1063. 'auto_reboot': False,
  1064. }
  1065. b_chromium_win_clang_asan_shared = {
  1066. 'name': 'CrWinAsan(dll)',
  1067. 'factory': m_annotator.BaseFactory('chromium',
  1068. triggers=['cr_win_clang_asan_shared']),
  1069. 'category': 'win clang',
  1070. 'auto_reboot': False,
  1071. }
  1072. b_chromium_win_clang_asan_shared_tester = {
  1073. 'name': 'CrWinAsan(dll) tester',
  1074. 'factory': m_annotator.BaseFactory('chromium'),
  1075. 'category': 'win clang',
  1076. 'auto_reboot': False,
  1077. }
  1078. b_clang_tot_linux = {
  1079. 'name': 'ClangToTLinux',
  1080. 'factory': m_annotator.BaseFactory('chromium',
  1081. triggers=['clang_tot_linux']),
  1082. 'category': 'clang tot',
  1083. 'auto_reboot': False,
  1084. }
  1085. b_clang_tot_linux_tester = {
  1086. 'name': 'ClangToTLinux tester',
  1087. 'factory': m_annotator.BaseFactory('chromium'),
  1088. 'category': 'clang tot',
  1089. 'auto_reboot': False,
  1090. }
  1091. b_clang_tot_linux_dbg = {
  1092. 'name': 'ClangToTLinux (dbg)',
  1093. 'factory': m_annotator.BaseFactory('chromium'),
  1094. 'category': 'clang tot',
  1095. 'auto_reboot': False,
  1096. }
  1097. b_clang_tot_linux_asan = {
  1098. 'name': 'ClangToTLinuxASan',
  1099. 'factory': m_annotator.BaseFactory('chromium',
  1100. triggers=['clang_tot_linux_asan']),
  1101. 'category': 'clang tot',
  1102. 'auto_reboot': False,
  1103. }
  1104. b_clang_tot_linux_asan_tester = {
  1105. 'name': 'ClangToTLinuxASan tester',
  1106. 'factory': m_annotator.BaseFactory('chromium'),
  1107. 'category': 'clang tot',
  1108. 'auto_reboot': False,
  1109. }
  1110. b_clang_tot_android_asan = {
  1111. 'name': 'ClangToTAndroidASan',
  1112. 'factory': m_annotator.BaseFactory('chromium'),
  1113. 'category': 'clang tot',
  1114. 'auto_reboot': False,
  1115. }
  1116. b_clang_tot_mac = {
  1117. 'name': 'ClangToTMac',
  1118. 'factory': m_annotator.BaseFactory('chromium',
  1119. triggers=['clang_tot_mac']),
  1120. 'category': 'clang tot',
  1121. 'auto_reboot': False,
  1122. }
  1123. b_clang_tot_mac_tester = {
  1124. 'name': 'ClangToTMac tester',
  1125. 'factory': m_annotator.BaseFactory('chromium'),
  1126. 'category': 'clang tot',
  1127. 'auto_reboot': False,
  1128. }
  1129. b_clang_tot_mac_dbg = {
  1130. 'name': 'ClangToTMac (dbg)',
  1131. 'factory': m_annotator.BaseFactory('chromium'),
  1132. 'category': 'clang tot',
  1133. 'auto_reboot': False,
  1134. }
  1135. b_clang_tot_mac_asan = {
  1136. 'name': 'ClangToTMacASan',
  1137. 'factory': m_annotator.BaseFactory('chromium',
  1138. triggers=['clang_tot_mac_asan']),
  1139. 'category': 'clang tot',
  1140. 'auto_reboot': False,
  1141. }
  1142. b_clang_tot_mac_asan_tester = {
  1143. 'name': 'ClangToTMacASan tester',
  1144. 'factory': m_annotator.BaseFactory('chromium'),
  1145. 'category': 'clang tot',
  1146. 'auto_reboot': False,
  1147. }
  1148. b_chromium_win7_shared_vs2013_dbg = {
  1149. 'name': 'Cr Win VS2013 (dbg)',
  1150. 'factory': f_chromium_win_shared_2013_dbg,
  1151. 'category': 'ninja',
  1152. 'auto_reboot': False,
  1153. }
  1154. b_chromium_win7_shared_vs2013 = {
  1155. 'name': 'Cr Win VS2013',
  1156. 'factory': f_chromium_win_shared_2013,
  1157. 'category': 'ninja',
  1158. 'auto_reboot': False,
  1159. }
  1160. b_chromium_win_mini_installer = {
  1161. 'name': 'Chromium Win MiniInstaller Tests',
  1162. 'factory': f_cr_win_rel_mini_installer,
  1163. 'category': 'windows',
  1164. 'auto_reboot': False,
  1165. }
  1166. b_chromium_dbg_android_builder = {
  1167. 'name': 'Android Builder (dbg)',
  1168. 'factory': f_chromium_dbg_android_builder,
  1169. 'category': 'android',
  1170. }
  1171. b_chromium_dbg_android_mips_builder = {
  1172. 'name': 'Android MIPS Builder (dbg)',
  1173. 'factory': f_chromium_dbg_android_mips_builder,
  1174. 'category': 'android',
  1175. }
  1176. b_chromium_dbg_android_x86_builder = {
  1177. 'name': 'Android x86 Builder (dbg)',
  1178. 'factory': f_chromium_dbg_android_x86_builder,
  1179. 'category': 'android',
  1180. }
  1181. b_chromium_rel_android_user_builder_tests = {
  1182. 'name': 'Android User Builder Tests',
  1183. 'factory': f_chromium_rel_android_builder_tests,
  1184. 'category': 'android',
  1185. }
  1186. b_chromium_dbg_android_tests_jb_gn = {
  1187. 'name': 'Android Tests (JB GalaxyNexus)(dbg)',
  1188. 'factory': f_chromium_dbg_android_tests('jb-gn'),
  1189. 'category': 'android',
  1190. }
  1191. b_chromium_rel_android_tests_n5 = {
  1192. 'name': 'Android Tests (N5)',
  1193. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1194. recipe='android/tester'),
  1195. 'category': 'android',
  1196. }
  1197. b_chromium_dbg_android_tests_jb_nexus7 = {
  1198. 'name': 'Android Tests (JB Nexus7)(dbg)',
  1199. 'factory': f_chromium_dbg_android_tests('jb-n7'),
  1200. 'category': 'android',
  1201. }
  1202. b_chromium_dbg_android_tests_jb_manta = {
  1203. 'name': 'Android Tests (JB Manta)(dbg)',
  1204. 'factory': f_chromium_dbg_android_tests('jb-manta'),
  1205. 'category': 'android',
  1206. }
  1207. b_chromium_dbg_android_tests_k_n5_user = {
  1208. 'name': 'Android Tests (K N5, user build)(dbg)',
  1209. 'factory': f_chromium_dbg_android_tests_user_build('k_n5_user'),
  1210. 'category': 'android',
  1211. }
  1212. b_chromium_dbg_android_tests_amp = {
  1213. 'name': 'Android Tests (amp)(dbg)',
  1214. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1215. 'android/appurify'),
  1216. 'category': 'android',
  1217. }
  1218. b_chromium_dbg_android_chromedriver_tests = {
  1219. 'name': 'Android ChromeDriver Tests (dbg)',
  1220. 'factory': f_chromium_dbg_android_chromedriver_tests,
  1221. 'category': 'android',
  1222. }
  1223. b_chromium_dbg_android_asan_builder_tests = {
  1224. 'name': 'Android Asan Builder Tests (dbg)',
  1225. 'factory': f_chromium_dbg_android_asan_builder_tests,
  1226. 'category': 'android',
  1227. }
  1228. b_chromium_dbg_android_shared_jb_nexus7 = {
  1229. 'name': 'Android Builder Tests (JB Nexus7)(shared)',
  1230. 'factory': f_chromium_dbg_android_shared,
  1231. 'category': 'android'
  1232. }
  1233. b_chromium_dbg_android_aosp_builder = {
  1234. 'name': 'Android AOSP Builder (dbg)',
  1235. 'factory': f_chromium_dbg_android_aosp_builder,
  1236. 'category': 'android',
  1237. }
  1238. b_chromium_dbg_ios_simulator = {
  1239. 'name': 'Chromium_iOS_Simulator_(dbg)',
  1240. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1241. 'ios/unified_builder_tester'
  1242. ),
  1243. 'category': 'ios',
  1244. 'auto_reboot': False,
  1245. }
  1246. b_chromium_rel_ios_device = {
  1247. 'name': 'Chromium_iOS_Device',
  1248. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1249. 'ios/unified_builder_tester'
  1250. ),
  1251. 'category': 'ios',
  1252. 'auto_reboot': False,
  1253. }
  1254. b_chromium_rel_ninja_ios_device = {
  1255. 'name': 'Chromium_iOS_Device_(ninja)',
  1256. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1257. 'ios/unified_builder_tester'
  1258. ),
  1259. 'category': 'ios',
  1260. 'auto_reboot': False,
  1261. }
  1262. b_chromium_linux_goma_canary = {
  1263. 'name': 'Chromium Linux Goma Canary',
  1264. 'factory': m_annotator.BaseFactory('chromium'),
  1265. 'category': 'goma',
  1266. 'auto_reboot': False,
  1267. }
  1268. b_chromium_linux_goma_canary_clobber = {
  1269. 'name': 'Chromium Linux Goma Canary (clobber)',
  1270. 'factory': m_annotator.BaseFactory('chromium'),
  1271. 'category': 'goma',
  1272. 'auto_reboot': False,
  1273. }
  1274. b_chromium_linux_precise_goma_linktest = {
  1275. 'name': 'Chromium Linux Precise Goma LinkTest',
  1276. 'factory': m_annotator.BaseFactory('chromium'),
  1277. 'category': 'goma',
  1278. 'auto_reboot': False,
  1279. }
  1280. b_chromium_linux32_goma_canary_clobber = {
  1281. 'name': 'Chromium Linux32 Goma Canary (clobber)',
  1282. 'factory': m_annotator.BaseFactory('chromium'),
  1283. 'category': 'goma',
  1284. 'auto_reboot': False,
  1285. }
  1286. b_chromium_mac_106_goma_canary = {
  1287. 'name': 'Chromium Mac 10.6 Goma Canary',
  1288. 'factory': m_annotator.BaseFactory('chromium'),
  1289. 'category': 'goma',
  1290. 'auto_reboot': False,
  1291. }
  1292. b_chromium_mac_107_goma_canary = {
  1293. 'name': 'Chromium Mac 10.7 Goma Canary',
  1294. 'factory': m_annotator.BaseFactory('chromium'),
  1295. 'category': 'goma',
  1296. 'auto_reboot': False,
  1297. }
  1298. b_chromium_mac_106_goma_canary_clobber = {
  1299. 'name': 'Chromium Mac 10.6 Goma Canary (clobber)',
  1300. 'factory': m_annotator.BaseFactory('chromium'),
  1301. 'category': 'goma',
  1302. 'auto_reboot': False,
  1303. }
  1304. b_chromium_mac_107_goma_canary_clobber = {
  1305. 'name': 'Chromium Mac 10.7 Goma Canary (clobber)',
  1306. 'factory': m_annotator.BaseFactory('chromium'),
  1307. 'category': 'goma',
  1308. 'auto_reboot': False,
  1309. }
  1310. b_chromium_mac_1010 = {
  1311. 'name': 'Chromium Mac 10.10',
  1312. 'factory': f_chromium_mac_1010,
  1313. 'auto_reboot': False,
  1314. }
  1315. b_windows_8_app_certification = {
  1316. 'name': 'Windows 8 App Certification',
  1317. 'factory': f_windows_8_app_certification,
  1318. 'category': 'windows',
  1319. }
  1320. b_linux_arm = {
  1321. 'name': 'Linux ARM',
  1322. 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium'),
  1323. 'category': 'linux',
  1324. 'auto_reboot': False,
  1325. }
  1326. b_linux_arm_cross_compile = {
  1327. 'name': 'Linux ARM Cross-Compile',
  1328. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1329. 'chromium',
  1330. {'use_mirror': ActiveMaster.is_production_host or None},
  1331. triggers=['chromium_linux_arm']),
  1332. 'category': 'linux',
  1333. 'auto_reboot': False,
  1334. }
  1335. b_linux_arm_tests_panda = {
  1336. 'name': 'Linux ARM Tests (Panda)',
  1337. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1338. 'chromium_isolate'),
  1339. 'category': 'linux',
  1340. 'auto_reboot': False,
  1341. }
  1342. b_chromiumos_linux_tests = {
  1343. 'name': 'ChromiumOS Linux Tests',
  1344. 'factory': f_chromiumos_linux_tests,
  1345. 'category': 'linux',
  1346. 'auto_reboot': False,
  1347. }
  1348. b_chromium_ozone_tests = {
  1349. 'name': 'Ozone ECS Linux',
  1350. 'builddir': 'ozone-linux',
  1351. 'factory': annotator_factory.AnnotatorFactory().BaseFactory('ozone_ecs',
  1352. {'use_mirror': ActiveMaster.is_production_host or None}),
  1353. 'auto_reboot': False,
  1354. }
  1355. b_chromium_trusty = {
  1356. 'name': 'Linux Trusty',
  1357. 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium'),
  1358. 'category': 'linux',
  1359. 'auto_reboot': True,
  1360. }
  1361. b_chromium_trusty32 = {
  1362. 'name': 'Linux Trusty (32)',
  1363. 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium'),
  1364. 'category': 'linux',
  1365. 'auto_reboot': True,
  1366. }
  1367. b_chromium_trusty_dbg = {
  1368. 'name': 'Linux Trusty (dbg)',
  1369. 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium'),
  1370. 'category': 'linux',
  1371. 'auto_reboot': True,
  1372. }
  1373. b_chromium_trusty32_dbg = {
  1374. 'name': 'Linux Trusty (dbg)(32)',
  1375. 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium'),
  1376. 'category': 'linux',
  1377. 'auto_reboot': True,
  1378. }
  1379. b_chromium_windows_drmemory_builder = {
  1380. 'name': 'Windows Builder (DrMemory)',
  1381. 'builddir': 'drm-cr',
  1382. 'factory': f_chromium_windows_drmemory_builder,
  1383. 'category': 'drmemory',
  1384. 'auto_reboot': False,
  1385. }
  1386. b_chromium_rel_win_drmemory_xp = {
  1387. 'name': 'Windows Tests (DrMemory XP)',
  1388. 'builddir': 'chromium-dbg-win-drmemory-xp',
  1389. 'factory': f_chromium_rel_win_drmemory,
  1390. 'category': 'drmemory|memory_tester',
  1391. 'auto_reboot': False,
  1392. }
  1393. b_chromium_tests_drmemory = {
  1394. 'name': 'Windows Tests (DrMemory)',
  1395. 'builddir': 'windows-tests-drm',
  1396. 'factory': f_chromium_rel_win_tests_drmemory,
  1397. 'category': 'drmemory',
  1398. 'auto_reboot': True,
  1399. }
  1400. b_chromium_windows_drmemory_64_builder = {
  1401. 'name': 'Windows Builder (DrMemory x64)',
  1402. 'builddir': 'drm-cr-64',
  1403. 'factory': f_chromium_windows_drmemory_64_builder,
  1404. 'category': 'drmemory',
  1405. 'auto_reboot': False,
  1406. }
  1407. b_chromium_tests_drmemory_64 = {
  1408. 'name': 'Windows Tests (DrMemory x64)',
  1409. 'builddir': 'windows-tests-drm-64',
  1410. 'factory': f_chromium_rel_win_tests_drmemory_64,
  1411. 'category': 'drmemory',
  1412. 'auto_reboot': True,
  1413. }
  1414. b_chromium_android_x64_builder = {
  1415. 'name': 'Android x64 Builder (dbg)',
  1416. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1417. recipe='android/builder'),
  1418. 'category': 'android',
  1419. }
  1420. b_chromium_android_cronet_builder = {
  1421. 'name': 'Android Cronet Builder',
  1422. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1423. recipe='cronet', triggers=['cronet_rel']),
  1424. 'category': 'android',
  1425. }
  1426. b_chromium_android_cronet_armv6_builder = {
  1427. 'name': 'Android Cronet ARMv6 Builder',
  1428. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1429. recipe='cronet'),
  1430. 'category': 'android',
  1431. }
  1432. b_chromium_android_cronet_arm64_builder = {
  1433. 'name': 'Android Cronet ARM64 Builder',
  1434. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1435. recipe='cronet'),
  1436. 'category': 'android',
  1437. }
  1438. b_chromium_android_cronet_x86_builder = {
  1439. 'name': 'Android Cronet x86 Builder',
  1440. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1441. recipe='cronet'),
  1442. 'category': 'android',
  1443. }
  1444. b_chromium_android_cronet_mips_builder = {
  1445. 'name': 'Android Cronet MIPS Builder',
  1446. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1447. recipe='cronet'),
  1448. 'category': 'android',
  1449. }
  1450. b_chromium_android_cronet_builder_dbg = {
  1451. 'name': 'Android Cronet Builder (dbg)',
  1452. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1453. recipe='cronet'),
  1454. 'category': 'android',
  1455. }
  1456. b_chromium_android_cronet_arm64_builder_dbg = {
  1457. 'name': 'Android Cronet ARM64 Builder (dbg)',
  1458. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1459. recipe='cronet'),
  1460. 'category': 'android',
  1461. }
  1462. b_chromium_android_cronet_x86_builder_dbg = {
  1463. 'name': 'Android Cronet x86 Builder (dbg)',
  1464. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1465. recipe='cronet'),
  1466. 'category': 'android',
  1467. }
  1468. b_chromium_print_preview_linux = {
  1469. 'name': 'Print Preview Linux',
  1470. 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium'),
  1471. 'category': 'print_preview',
  1472. 'auto_reboot': True,
  1473. }
  1474. b_chromium_print_preview_mac = {
  1475. 'name': 'Print Preview Mac',
  1476. 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium'),
  1477. 'category': 'print_preview',
  1478. 'auto_reboot': True,
  1479. }
  1480. b_chromium_print_preview_win = {
  1481. 'name': 'Print Preview Win',
  1482. 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium'),
  1483. 'category': 'print_preview',
  1484. 'auto_reboot': True,
  1485. }
  1486. b_chromium_openssl_mac = {
  1487. 'name': 'Mac OpenSSL',
  1488. 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium'),
  1489. 'category': 'openssl',
  1490. 'auto_reboot': True,
  1491. }
  1492. b_chromium_site_isolation_linux = {
  1493. 'name': 'Site Isolation Linux',
  1494. 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium'),
  1495. 'category': 'site_isolation',
  1496. 'auto_reboot': True,
  1497. }
  1498. b_chromium_site_isolation_win = {
  1499. 'name': 'Site Isolation Win',
  1500. 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium'),
  1501. 'category': 'site_isolation',
  1502. 'auto_reboot': True,
  1503. }
  1504. b_chromium_browser_side_navigation_linux = {
  1505. 'name': 'Browser Side Navigation Linux',
  1506. 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium'),
  1507. 'category': 'site_isolation',
  1508. 'auto_reboot': True,
  1509. }
  1510. b_chromium_closure_compilation_linux = {
  1511. 'name': 'Closure Compilation Linux',
  1512. 'factory': annotator_factory.AnnotatorFactory().BaseFactory(
  1513. recipe='closure_compilation'),
  1514. 'category': 'closure_compilation',
  1515. 'auto_reboot': True,
  1516. }
  1517. def windows_browser_drmemory_light_tester(shard, total):
  1518. if shard < 1 or shard > total:
  1519. raise
  1520. ret = {'category': 'drmemory'}
  1521. ret['name'] = 'Windows Browser (DrMemory light) (%d)' % shard
  1522. ret['builddir'] = 'windows-browser-drm-light-%d' % shard
  1523. ret['factory'] = win_out().ChromiumFactory(
  1524. target='Release',
  1525. slave_type='Tester',
  1526. build_url=chromium_windows_drmemory_archive,
  1527. tests=['drmemory_light_browser_tests_%d_of_%d' % (shard, total)],
  1528. options=['browser_tests'],
  1529. factory_properties={ 'halt_on_missing_build': True,
  1530. 'retry_failed' : False })
  1531. return ret
  1532. c['builders'] = [
  1533. # Windows release
  1534. b_chromium_rel_builder,
  1535. b_chromium_rel_win8_tests_1,
  1536. b_chromium_rel_win8_tests_2,
  1537. b_chromium_win_goma,
  1538. b_chromium_win_goma_shared,
  1539. b_chromium_win7_goma,
  1540. b_chromium_win7_goma_shared,
  1541. b_chromium_win7_goma_dbg,
  1542. b_chromium_win7_goma_clobber,
  1543. b_chromium_win7_shared_vs2013_dbg,
  1544. b_chromium_win7_shared_vs2013,
  1545. b_chromium_win_clang_goma,
  1546. b_windows_8_app_certification,
  1547. b_chromium_win_x64,
  1548. b_chromium_win_clang,
  1549. b_chromium_win_clang_tester,
  1550. b_chromium_win_clang_dbg,
  1551. b_chromium_win_clang_dbg_tester,
  1552. b_chromium_win_clang_shared,
  1553. b_chromium_win_clang_shared_tester,
  1554. b_chromium_win_clang_64,
  1555. b_chromium_win_clang_64_tester,
  1556. b_chromium_win_clang_64_dbg,
  1557. b_chromium_win_clang_64_dbg_tester,
  1558. b_chromium_win_clang_64_shared,
  1559. b_chromium_win_clang_64_shared_tester,
  1560. b_chromium_win_clang_lld,
  1561. b_chromium_win_clang_lld_tester,
  1562. b_chromium_win_clang_asan,
  1563. b_chromium_win_clang_asan_tester,
  1564. b_chromium_win_clang_asan_shared,
  1565. b_chromium_win_clang_asan_shared_tester,
  1566. b_chromium_win_pgo_builder,
  1567. b_chromium_win_x64_pgo_builder,
  1568. # Windows debug
  1569. b_chromium_dbg_builder,
  1570. b_chromium_dbg_vista_tests_1,
  1571. b_chromium_dbg_vista_tests_2,
  1572. # Mac BuilderTesters
  1573. b_chromium_mac_106_goma_canary,
  1574. b_chromium_mac_107_goma_canary,
  1575. b_chromium_mac_106_goma_canary_clobber,
  1576. b_chromium_mac_107_goma_canary_clobber,
  1577. b_chromium_mac_1010,
  1578. # Windows /Analyze builder
  1579. b_chromium_win_analyze,
  1580. # Perf Testers
  1581. b_chromium_win_mojo,
  1582. b_chromium_lin_mojo,
  1583. # Instant Extended Testers
  1584. b_chromium_win_instantextended,
  1585. # Buildrunner Testers
  1586. b_chromium_lin_buildrunner,
  1587. b_chromium_win_buildrunner,
  1588. b_chromium_mac_buildrunner,
  1589. b_chromium_mac_10_8_buildrunner,
  1590. b_chromium_mac_10_9_buildrunner,
  1591. # Linux BuilderTesters
  1592. b_chromium_linux_goma_canary,
  1593. b_chromium_linux_goma_canary_clobber,
  1594. b_chromium_linux_precise_goma_linktest,
  1595. b_chromium_linux32_goma_canary_clobber,
  1596. b_chromiumos_linux_tests,
  1597. # Linux ARM
  1598. b_linux_arm,
  1599. b_linux_arm_cross_compile,
  1600. b_linux_arm_tests_panda,
  1601. # Android
  1602. b_chromium_dbg_android_builder,
  1603. b_chromium_dbg_android_mips_builder,
  1604. b_chromium_dbg_android_x86_builder,
  1605. b_chromium_dbg_android_tests_jb_gn,
  1606. b_chromium_dbg_android_tests_jb_nexus7,
  1607. b_chromium_dbg_android_tests_jb_manta,
  1608. b_chromium_dbg_android_tests_k_n5_user,
  1609. b_chromium_dbg_android_tests_amp,
  1610. b_chromium_rel_android_tests_n5,
  1611. b_chromium_rel_android_user_builder_tests,
  1612. b_chromium_dbg_android_chromedriver_tests,
  1613. b_chromium_dbg_android_asan_builder_tests,
  1614. b_chromium_dbg_android_shared_jb_nexus7,
  1615. b_chromium_android_x64_builder,
  1616. # Android AOSP
  1617. b_chromium_dbg_android_aosp_builder,
  1618. # Cronet
  1619. b_chromium_android_cronet_builder,
  1620. b_chromium_android_cronet_armv6_builder,
  1621. b_chromium_android_cronet_arm64_builder,
  1622. b_chromium_android_cronet_x86_builder,
  1623. b_chromium_android_cronet_mips_builder,
  1624. b_chromium_android_cronet_builder_dbg,
  1625. b_chromium_android_cronet_arm64_builder_dbg,
  1626. b_chromium_android_cronet_x86_builder_dbg,
  1627. # iOS
  1628. b_chromium_dbg_ios_simulator,
  1629. b_chromium_rel_ios_device,
  1630. b_chromium_rel_ninja_ios_device,
  1631. # Sanitizers
  1632. b_blink_linux_lsan_asan,
  1633. # NaCl
  1634. b_chromium_rel_win32_morenacl,
  1635. b_chromium_rel_win64_morenacl,
  1636. b_chromium_rel_mac_morenacl,
  1637. b_chromium_rel_linux_morenacl,
  1638. # MiniInstaller
  1639. b_chromium_win_mini_installer,
  1640. # Ozone Shell
  1641. b_chromium_ozone_tests,
  1642. # Ubuntu 14.04 Trusty
  1643. b_chromium_trusty,
  1644. b_chromium_trusty32,
  1645. b_chromium_trusty_dbg,
  1646. b_chromium_trusty32_dbg,
  1647. # Print Preview
  1648. b_chromium_print_preview_linux,
  1649. b_chromium_print_preview_mac,
  1650. b_chromium_print_preview_win,
  1651. # OpenSSL
  1652. b_chromium_openssl_mac,
  1653. # Site Isolation
  1654. b_chromium_site_isolation_linux,
  1655. b_chromium_site_isolation_win,
  1656. b_chromium_browser_side_navigation_linux,
  1657. # Closure Compilation
  1658. b_chromium_closure_compilation_linux,
  1659. # Blink repo transition practice bots.
  1660. b_linux_practice,
  1661. b_linux_practice_tester,
  1662. # Clang ToT bots.
  1663. b_clang_tot_linux,
  1664. b_clang_tot_linux_tester,
  1665. b_clang_tot_linux_dbg,
  1666. b_clang_tot_linux_asan,
  1667. b_clang_tot_linux_asan_tester,
  1668. b_clang_tot_android_asan,
  1669. b_clang_tot_mac,
  1670. b_clang_tot_mac_tester,
  1671. b_clang_tot_mac_dbg,
  1672. b_clang_tot_mac_asan,
  1673. b_clang_tot_mac_asan_tester,
  1674. ]
  1675. # DrMemory test bots
  1676. b_win_drmemory = [
  1677. b_chromium_windows_drmemory_builder,
  1678. b_chromium_rel_win_drmemory_xp,
  1679. b_chromium_tests_drmemory,
  1680. b_chromium_windows_drmemory_64_builder,
  1681. b_chromium_tests_drmemory_64,
  1682. ]
  1683. # Windows Browser (DrMemory light)
  1684. for i in range(WINDOWS_BROWSER_DRMEMORY_LIGHT_TESTERS):
  1685. c['builders'].append(
  1686. windows_browser_drmemory_light_tester(
  1687. i + 1, WINDOWS_BROWSER_DRMEMORY_LIGHT_TESTERS))
  1688. c['builders'].extend(b_win_drmemory)
  1689. master_win_drmemory_cfg.Update(config, ActiveMaster, c)
  1690. master_win_syzyasan_cfg.Update(config, ActiveMaster, c)
  1691. # Associate the slaves to the manual builders. The configuration is in
  1692. # slaves.cfg.
  1693. slaves = slaves_list.SlavesList('slaves.cfg', 'ChromiumFYI')
  1694. for builder in c['builders']:
  1695. builder['slavenames'] = slaves.GetSlavesName(builder=builder['name'])
  1696. ####### BUILDSLAVES
  1697. # The 'slaves' list defines the set of allowable buildslaves. List all the
  1698. # slaves registered to a builder. Remove dupes.
  1699. c['slaves'] = master_utils.AutoSetupSlaves(c['builders'],
  1700. config.Master.GetBotPassword())
  1701. # Make sure everything works together.
  1702. master_utils.VerifySetup(c, slaves)
  1703. ####### STATUS TARGETS
  1704. # Buildbot master url:
  1705. # Must come before AutoSetupMaster().
  1706. c['buildbotURL'] = ActiveMaster.buildbot_url
  1707. # Adds common status and tools to this master.
  1708. master_utils.AutoSetupMaster(
  1709. c, ActiveMaster,
  1710. public_html="../master.chromium/public_html",
  1711. templates=['../master.chromium/templates'],
  1712. enable_http_status_push=ActiveMaster.is_production_host,
  1713. order_console_by_time=True)
  1714. # Add more.
  1715. if STATUS_PUSH:
  1716. from buildbot.status.status_push import HttpStatusPush
  1717. c['status'].append(HttpStatusPush(
  1718. 'http://craebuild.appspot.com/status-listener'))
  1719. if DRMEMORY_NOTIFIER:
  1720. categories_steps = {
  1721. 'memory_tester': [
  1722. 'memory test: gcm_unit_tests',
  1723. 'memory test: printing',
  1724. 'memory test: media',
  1725. 'memory test: remoting',
  1726. 'memory test: sql',
  1727. 'memory test: sync',
  1728. 'memory test: sync_unit_tests',
  1729. 'memory test: ipc_tests',
  1730. 'memory test: base_unittests',
  1731. 'memory test: content',
  1732. 'memory test: crypto',
  1733. 'memory test: net',
  1734. 'memory test: ui_base_unittests',
  1735. 'memory test: unit', # unit_tests can be sharded
  1736. 'memory test: unit_1',
  1737. 'memory test: unit_2',
  1738. 'memory test: url_unittests',
  1739. ],
  1740. }
  1741. c['status'].append(failures_notifier.FailuresNotifier(
  1742. fromaddr=ActiveMaster.from_address,
  1743. categories_steps=categories_steps,
  1744. exclusions={},
  1745. relayhost=config.Master.smtp,
  1746. status_header='New DrMemory failure on "%(builder)s":\n%(steps)s',
  1747. subject='drmemory buildbot %(result)s in %(projectName)s on '
  1748. '%(builder)s, revision %(revision)s',
  1749. sendToInterestedUsers=False, # don't send e-mails to the committers.
  1750. extraRecipients=[
  1751. 'bruening+drmfyifailure@google.com',
  1752. 'zhaoqin+drmfyifailure@google.com',
  1753. ],
  1754. lookup=master_utils.FilterDomain(),
  1755. forgiving_steps=[],
  1756. use_getname=True))
  1757. c['status'].append(MailNotifier(
  1758. fromaddr='ukai@chromium.org', # Reply-To address
  1759. mode='failing',
  1760. categories=['goma'],
  1761. relayhost=config.Master.smtp,
  1762. subject='goma canary buildbot %(result)s in %(projectName)s '
  1763. 'on %(builder)s',
  1764. extraRecipients=['goma+alert@google.com'],
  1765. sendToInterestedUsers=False))
  1766. c['status'].append(MailNotifier(
  1767. fromaddr=ActiveMaster.from_address, # Reply-To address
  1768. mode='problem',
  1769. relayhost=config.Master.smtp,
  1770. subject='Cronet build failed on %(builder)s',
  1771. extraRecipients=['cronet+buildproblem@google.com'],
  1772. sendToInterestedUsers=False,
  1773. builders=['Android Cronet Builder', 'Android Cronet Builder (dbg)']))
  1774. c['status'].append(MailNotifier(
  1775. fromaddr=ActiveMaster.from_address, # Reply-To address
  1776. mode='failing',
  1777. relayhost=config.Master.smtp,
  1778. subject='Build failure on %(builder)s',
  1779. extraRecipients=[
  1780. 'sebmarchand+pgofailure@google.com',
  1781. 'scottmg+pgofailure@google.com'
  1782. ],
  1783. sendToInterestedUsers=False,
  1784. builders=['Chromium Win PGO Builder']))
  1785. c['status'].append(MailNotifier(
  1786. fromaddr=ActiveMaster.from_address, # Reply-To address
  1787. mode='failing',
  1788. relayhost=config.Master.smtp,
  1789. subject='Telemetry tests android failure on %(builder)s',
  1790. extraRecipients=[
  1791. 'fmeawad@chromium.org',
  1792. 'sullivan@chromium.org',
  1793. 'zhenw@chromium.org',
  1794. ],
  1795. sendToInterestedUsers=False,
  1796. builders=['Android Tests (K N5, user build)(dbg)']))