GoogleGit

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