| OLD | NEW |
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 from buildbot.process.properties import WithProperties | 5 from buildbot.process.properties import WithProperties |
| 6 from buildbot.scheduler import Triggerable | 6 from buildbot.scheduler import Triggerable |
| 7 from buildbot.scheduler import Scheduler | 7 from buildbot.scheduler import Scheduler |
| 8 | 8 |
| 9 from common import chromium_utils | 9 from common import chromium_utils |
| 10 | 10 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 | 38 |
| 39 ####### SCHEDULERS | 39 ####### SCHEDULERS |
| 40 | 40 |
| 41 ## configure the Schedulers | 41 ## configure the Schedulers |
| 42 | 42 |
| 43 # Main scheduler for all changes in trunk. | 43 # Main scheduler for all changes in trunk. |
| 44 s_chromium = Scheduler(name='chromium', | 44 s_chromium = Scheduler(name='chromium', |
| 45 branch='master', | 45 branch='master', |
| 46 treeStableTimer=60, | 46 treeStableTimer=60, |
| 47 builderNames=[# Builders | 47 builderNames=[# Builders |
| 48 'Chromium Windows Builder (DrMemory)', | |
| 49 'Chromium Windows Builder (DrMemory x64)', | |
| 50 'Chromium Linux TSan Builder', | 48 'Chromium Linux TSan Builder', |
| 51 'Chromium Linux MSan Builder', | 49 'Chromium Linux MSan Builder', |
| 52 'Chromium Linux ChromeOS MSan Builder', | 50 'Chromium Linux ChromeOS MSan Builder', |
| 53 ]) | 51 ]) |
| 54 | 52 |
| 55 # Windows Dr. Memory build-bot list | |
| 56 t_drmemory_bots=[ | |
| 57 'Windows Unit (DrMemory)', | |
| 58 'Windows Content Browser (DrMemory)', | |
| 59 ] | |
| 60 | |
| 61 # Windows Unit (DrMemory full) | |
| 62 WINDOWS_UNIT_DRMEMORY_FULL_TESTERS = 5 | |
| 63 for i in range(WINDOWS_UNIT_DRMEMORY_FULL_TESTERS): | |
| 64 t_drmemory_bots.append('Windows Unit (DrMemory full) (%d)' % (i+1)) | |
| 65 | |
| 66 # Windows Content Browser (DrMemory full) | |
| 67 WINDOWS_CONTENT_BROWSER_DRMEMORY_FULL_TESTERS = 6 | |
| 68 for i in range(WINDOWS_CONTENT_BROWSER_DRMEMORY_FULL_TESTERS): | |
| 69 t_drmemory_bots.append('Windows Content Browser (DrMemory full) (%d)' % (i+1
)) | |
| 70 | |
| 71 # Windows Browser (DrMemory full) | |
| 72 WINDOWS_BROWSER_DRMEMORY_FULL_TESTERS = 12 | |
| 73 for i in range(WINDOWS_BROWSER_DRMEMORY_FULL_TESTERS): | |
| 74 t_drmemory_bots.append('Windows Browser (DrMemory full) (%d)' % (i+1)) | |
| 75 | |
| 76 # Windows Dr. Memory x64 build-bot list | |
| 77 t_drmemory_64_bots=[ | |
| 78 'Windows Unit (DrMemory x64)', | |
| 79 ] | |
| 80 | |
| 81 s_chromium_win_drmemory_trigger = Triggerable( | |
| 82 'chromium_win_drmemory', | |
| 83 t_drmemory_bots) | |
| 84 | |
| 85 s_chromium_win_drmemory_64_trigger = Triggerable( | |
| 86 'chromium_win_drmemory_64', | |
| 87 t_drmemory_64_bots) | |
| 88 | |
| 89 s_chromium_linux_tsan = Triggerable( | 53 s_chromium_linux_tsan = Triggerable( |
| 90 name='linux_tsan', | 54 name='linux_tsan', |
| 91 builderNames=['Linux TSan Tests']) | 55 builderNames=['Linux TSan Tests']) |
| 92 | 56 |
| 93 s_chromium_linux_msan = Triggerable( | 57 s_chromium_linux_msan = Triggerable( |
| 94 name='linux_msan', | 58 name='linux_msan', |
| 95 builderNames=['Linux MSan Tests']) | 59 builderNames=['Linux MSan Tests']) |
| 96 | 60 |
| 97 s_chromium_linux_chromeos_msan = Triggerable( | 61 s_chromium_linux_chromeos_msan = Triggerable( |
| 98 name='linux_chromeos_msan', | 62 name='linux_chromeos_msan', |
| 99 builderNames=['Linux ChromeOS MSan Tests']) | 63 builderNames=['Linux ChromeOS MSan Tests']) |
| 100 | 64 |
| 101 c['schedulers'] = [s_chromium, | 65 c['schedulers'] = [s_chromium, |
| 102 s_chromium_win_drmemory_trigger, | |
| 103 s_chromium_win_drmemory_64_trigger, | |
| 104 s_chromium_linux_tsan, | 66 s_chromium_linux_tsan, |
| 105 s_chromium_linux_msan, | 67 s_chromium_linux_msan, |
| 106 s_chromium_linux_chromeos_msan] | 68 s_chromium_linux_chromeos_msan] |
| 107 | 69 |
| 108 ####### BUILDERS | 70 ####### BUILDERS |
| 109 | 71 |
| 110 # buildbot/process/factory.py provides several BuildFactory classes you can | 72 # buildbot/process/factory.py provides several BuildFactory classes you can |
| 111 # start with, which implement build processes for common targets (GNU | 73 # start with, which implement build processes for common targets (GNU |
| 112 # autoconf projects, CPAN perl modules, etc). The factory.BuildFactory is the | 74 # autoconf projects, CPAN perl modules, etc). The factory.BuildFactory is the |
| 113 # base class, and is configured with a series of BuildSteps. When the build | 75 # base class, and is configured with a series of BuildSteps. When the build |
| 114 # is run, the appropriate buildslave is told to execute each Step in turn. | 76 # is run, the appropriate buildslave is told to execute each Step in turn. |
| 115 | 77 |
| 116 # the first BuildStep is typically responsible for obtaining a copy of the | 78 # the first BuildStep is typically responsible for obtaining a copy of the |
| 117 # sources. There are source-obtaining Steps in buildbot/process/step.py for | 79 # sources. There are source-obtaining Steps in buildbot/process/step.py for |
| 118 # CVS, SVN, and others. | 80 # CVS, SVN, and others. |
| 119 | 81 |
| 120 builders = [] | 82 builders = [] |
| 121 | 83 |
| 122 # ---------------------------------------------------------------------------- | 84 # ---------------------------------------------------------------------------- |
| 123 # FACTORIES | 85 # FACTORIES |
| 124 | 86 |
| 125 m_win_ninja = chromium_factory.ChromiumFactory('src/out', 'win32') | |
| 126 | |
| 127 # Some shortcut to simplify the code below. | |
| 128 F_WIN_NINJA = m_win_ninja.ChromiumFactory | |
| 129 | |
| 130 m_annotator = annotator_factory.AnnotatorFactory() | 87 m_annotator = annotator_factory.AnnotatorFactory() |
| 131 | 88 |
| 132 revision_getter = master_utils.ConditionalProperty( | 89 revision_getter = master_utils.ConditionalProperty( |
| 133 lambda build: build.getProperty('revision'), | 90 lambda build: build.getProperty('revision'), |
| 134 WithProperties('%(revision)s'), | 91 WithProperties('%(revision)s'), |
| 135 'master') | 92 'master') |
| 136 | 93 |
| 137 def m_remote_run_chromium_src(recipe, **kwargs): | 94 def m_remote_run_chromium_src(recipe, **kwargs): |
| 138 kwargs.setdefault('revision', revision_getter) | 95 kwargs.setdefault('revision', revision_getter) |
| 139 return remote_run_factory.RemoteRunFactory( | 96 return remote_run_factory.RemoteRunFactory( |
| 140 active_master=ActiveMaster, | 97 active_master=ActiveMaster, |
| 141 repository='https://chromium.googlesource.com/chromium/src.git', | 98 repository='https://chromium.googlesource.com/chromium/src.git', |
| 142 recipe=recipe, | 99 recipe=recipe, |
| 143 factory_properties={'path_config': 'kitchen'}, | 100 factory_properties={'path_config': 'kitchen'}, |
| 144 use_gitiles=True, | 101 use_gitiles=True, |
| 145 **kwargs) | 102 **kwargs) |
| 146 | 103 |
| 147 chromium_win_drmemory_archive = master_config.GetGSUtilUrl( | |
| 148 'chromium-memory-full', 'drm-cr') | |
| 149 | |
| 150 chromium_win_drmemory_64_archive = master_config.GetGSUtilUrl( | |
| 151 'chromium-memory-full', 'drm-cr-64') | |
| 152 | |
| 153 # IMPORTANT NOTE about adding new tests. | 104 # IMPORTANT NOTE about adding new tests. |
| 154 # If you want to add a new test, make sure it's: | 105 # If you want to add a new test, make sure it's: |
| 155 # a) buildable, | 106 # a) buildable, |
| 156 # b) runnable by all the tools, | 107 # b) runnable by all the tools, |
| 157 # c) green locally under all tools (at least mostly) and | 108 # c) green locally under all tools (at least mostly) and |
| 158 # d) the e-mail notifier is configured to watch for its failures. | 109 # d) the e-mail notifier is configured to watch for its failures. |
| 159 # [See details below] | 110 # [See details below] |
| 160 # | 111 # |
| 161 # Also, please do your best to estimate the time it takes to run the new test | 112 # Also, please do your best to estimate the time it takes to run the new test |
| 162 # under the tool and order the tests in a short-job-first manner if possible. | 113 # under the tool and order the tests in a short-job-first manner if possible. |
| 163 # | 114 # |
| 164 # Regarding (a), | |
| 165 # New DrMemory/Win tests must first be added as dependencies to the | |
| 166 # 'chromium_builder_dbg_drmemory_win' target in src/build/all.gyp; | |
| 167 # | |
| 168 # Regarding (b), | 115 # Regarding (b), |
| 169 # 'chrome_tests.py' must be updated to handle the test name, | 116 # 'chrome_tests.py' must be updated to handle the test name, |
| 170 # without the 'TOOL_' prefix, where 'chrome_tests.py' is located | 117 # without the 'TOOL_' prefix, where 'chrome_tests.py' is located |
| 171 # at tools/valgrind/ for other tools. | 118 # at tools/valgrind/ for other tools. |
| 172 # | 119 # |
| 173 # Regarding (d), | 120 # Regarding (d), |
| 174 # See notifier_cfg.py for the existing tests and see the 'category' of the | 121 # See notifier_cfg.py for the existing tests and see the 'category' of the |
| 175 # builder you're dealing with. | 122 # builder you're dealing with. |
| 176 # | 123 # |
| 177 # Please coordinate with the current and upcoming memory sheriff and help them | 124 # Please coordinate with the current and upcoming memory sheriff and help them |
| 178 # get the new tests green on all the bots after the master restart. | 125 # get the new tests green on all the bots after the master restart. |
| 179 | 126 |
| 180 # ThreadSanitizer bots: | |
| 181 # Dr.Memory bots: | |
| 182 f_chromium_rel_win_drmemory_builder = F_WIN_NINJA( | |
| 183 # TODO(timurrrr): reuse the builder for TSan/Win too once | |
| 184 # http://crbug.com/108155 is resolved. | |
| 185 slave_type='Builder', | |
| 186 target='Release', | |
| 187 # TODO(bruening): remove "_dbg" from this name in all.gyp as it is | |
| 188 # not limited to just Debug. | |
| 189 # TODO(timurrrr): Might wanna remove chromium_builder_dbg_drmemory_win | |
| 190 # entirely as ninja supports target lists similar to what we always had | |
| 191 # on Linux. | |
| 192 options=['chromium_builder_dbg_drmemory_win'], | |
| 193 factory_properties={ | |
| 194 'gclient_env': {'GYP_DEFINES': ('build_for_tool=drmemory ' | |
| 195 'component=shared_library '), | |
| 196 'GYP_GENERATORS': 'ninja'}, | |
| 197 'trigger': 'chromium_win_drmemory', | |
| 198 'build_url': chromium_win_drmemory_archive, | |
| 199 'use_mb': True, | |
| 200 } | |
| 201 ) | |
| 202 | |
| 203 f_chromium_rel_win_drmemory = F_WIN_NINJA( | |
| 204 slave_type='Tester', | |
| 205 target='Release', | |
| 206 build_url=chromium_win_drmemory_archive, | |
| 207 # See IMPORTANT NOTE above before adding new tests. | |
| 208 tests=[ | |
| 209 'drmemory_light_url', | |
| 210 'drmemory_light_printing', | |
| 211 'drmemory_light_media', | |
| 212 'drmemory_light_midi', | |
| 213 'drmemory_light_sql', | |
| 214 'drmemory_light_crypto', | |
| 215 'drmemory_light_remoting', | |
| 216 'drmemory_light_ipc_tests', | |
| 217 'drmemory_light_base_unittests', | |
| 218 'drmemory_light_net', | |
| 219 'drmemory_light_components', | |
| 220 'drmemory_light_device', | |
| 221 'drmemory_light_jingle', | |
| 222 'drmemory_light_gcm', | |
| 223 'drmemory_light_gpu', | |
| 224 'drmemory_light_content', | |
| 225 'drmemory_light_cacheinvalidation', | |
| 226 'drmemory_light_addressinput', | |
| 227 'drmemory_light_phonenumber', | |
| 228 'drmemory_light_mojo_system', | |
| 229 'drmemory_light_mojo_public_system', | |
| 230 'drmemory_light_mojo_public_bindings', | |
| 231 'drmemory_light_mojo_public_sysperf', | |
| 232 'drmemory_light_mojo_common', | |
| 233 'drmemory_light_accessibility', | |
| 234 'drmemory_light_angle', | |
| 235 'drmemory_light_aura', | |
| 236 'drmemory_light_blink_heap', | |
| 237 'drmemory_light_blink_platform', | |
| 238 'drmemory_light_cast', | |
| 239 'drmemory_light_cc', | |
| 240 'drmemory_light_chrome_app', | |
| 241 'drmemory_light_chrome_elf', | |
| 242 'drmemory_light_chromedriver', | |
| 243 'drmemory_light_compositor', | |
| 244 'drmemory_light_courgette', | |
| 245 'drmemory_light_display', | |
| 246 'drmemory_light_extensions', | |
| 247 'drmemory_light_events', | |
| 248 'drmemory_light_gin', | |
| 249 'drmemory_light_google_apis', | |
| 250 'drmemory_light_gfx', | |
| 251 'drmemory_light_installer_util', | |
| 252 'drmemory_light_keyboard', | |
| 253 'drmemory_light_unit', | |
| 254 ], | |
| 255 ) | |
| 256 | |
| 257 # Windows Content Browser (DrMemory) | |
| 258 f_chromium_rel_win_drmemory_content = F_WIN_NINJA( | |
| 259 slave_type='Tester', | |
| 260 target='Release', | |
| 261 build_url=chromium_win_drmemory_archive, | |
| 262 tests=[ | |
| 263 'drmemory_light_content_browsertests', | |
| 264 ], | |
| 265 factory_properties={'halt_on_missing_build': True} | |
| 266 ) | |
| 267 | |
| 268 # Windows Unit (DrMemory full) (1) | |
| 269 f_chromium_rel_win_drmemory_full_1 = F_WIN_NINJA( | |
| 270 slave_type='Tester', | |
| 271 target='Release', | |
| 272 build_url=chromium_win_drmemory_archive, | |
| 273 # See IMPORTANT NOTE above before adding new tests. | |
| 274 tests=[ | |
| 275 # We split into 2 for faster reports on errors found in 1st half. | |
| 276 'drmemory_full_net_1_of_2', | |
| 277 'drmemory_full_net_2_of_2', | |
| 278 'drmemory_full_mojo_system', | |
| 279 'drmemory_full_mojo_public_system', | |
| 280 'drmemory_full_mojo_public_bindings', | |
| 281 'drmemory_full_mojo_public_sysperf', | |
| 282 'drmemory_full_mojo_common', | |
| 283 ], | |
| 284 factory_properties={'halt_on_missing_build': True}, | |
| 285 ) | |
| 286 | |
| 287 # Windows Unit (DrMemory full) (2) | |
| 288 f_chromium_rel_win_drmemory_full_2 = F_WIN_NINJA( | |
| 289 slave_type='Tester', | |
| 290 target='Release', | |
| 291 build_url=chromium_win_drmemory_archive, | |
| 292 # See IMPORTANT NOTE above before adding new tests. | |
| 293 tests=[ | |
| 294 # The 1st 3 unit_ shards are fast, so we can fit these as well: | |
| 295 'drmemory_full_media', | |
| 296 'drmemory_full_midi', | |
| 297 'drmemory_full_base_unittests', | |
| 298 # Full mode has a high memory overhead currently, so shard the tests | |
| 299 # more. | |
| 300 'drmemory_full_unit_1_of_6', | |
| 301 'drmemory_full_unit_2_of_6', | |
| 302 ], | |
| 303 factory_properties={'halt_on_missing_build': True}, | |
| 304 ) | |
| 305 | |
| 306 # Windows Unit (DrMemory full) (3) | |
| 307 f_chromium_rel_win_drmemory_full_3 = F_WIN_NINJA( | |
| 308 slave_type='Tester', | |
| 309 target='Release', | |
| 310 build_url=chromium_win_drmemory_archive, | |
| 311 # See IMPORTANT NOTE above before adding new tests. | |
| 312 tests=[ | |
| 313 # Full mode has a high memory overhead currently, so shard the tests | |
| 314 # more. | |
| 315 'drmemory_full_url', | |
| 316 'drmemory_full_printing', | |
| 317 'drmemory_full_sql', | |
| 318 'drmemory_full_crypto', | |
| 319 'drmemory_full_remoting', | |
| 320 'drmemory_full_ipc_tests', | |
| 321 'drmemory_full_gpu', | |
| 322 'drmemory_full_device', | |
| 323 'drmemory_full_jingle', | |
| 324 'drmemory_full_gcm', | |
| 325 'drmemory_full_content', | |
| 326 'drmemory_full_cacheinvalidation', | |
| 327 'drmemory_full_addressinput', | |
| 328 'drmemory_full_unit_3_of_6', | |
| 329 'drmemory_full_unit_4_of_6', | |
| 330 ], | |
| 331 factory_properties={'halt_on_missing_build': True}, | |
| 332 ) | |
| 333 | |
| 334 # Windows Unit (DrMemory full) (4) | |
| 335 f_chromium_rel_win_drmemory_full_4 = F_WIN_NINJA( | |
| 336 slave_type='Tester', | |
| 337 target='Release', | |
| 338 build_url=chromium_win_drmemory_archive, | |
| 339 # See IMPORTANT NOTE above before adding new tests. | |
| 340 tests=[ | |
| 341 # Full mode has a high memory overhead currently, so shard the tests | |
| 342 # more. | |
| 343 'drmemory_full_phonenumber', | |
| 344 'drmemory_full_unit_5_of_6', | |
| 345 'drmemory_full_unit_6_of_6', | |
| 346 ], | |
| 347 factory_properties={'halt_on_missing_build': True}, | |
| 348 ) | |
| 349 | |
| 350 # Windows Unit (DrMemory full) (5) | |
| 351 f_chromium_rel_win_drmemory_full_5 = F_WIN_NINJA( | |
| 352 slave_type='Tester', | |
| 353 target='Release', | |
| 354 build_url=chromium_win_drmemory_archive, | |
| 355 # See IMPORTANT NOTE above before adding new tests. | |
| 356 tests=[ | |
| 357 'drmemory_full_accessibility', | |
| 358 'drmemory_full_angle', | |
| 359 'drmemory_full_aura', | |
| 360 'drmemory_full_blink_heap', | |
| 361 'drmemory_full_blink_platform', | |
| 362 'drmemory_full_cast', | |
| 363 'drmemory_full_cc', | |
| 364 'drmemory_full_chrome_app', | |
| 365 'drmemory_full_chrome_elf', | |
| 366 'drmemory_full_chromedriver', | |
| 367 'drmemory_full_compositor', | |
| 368 'drmemory_full_courgette', | |
| 369 'drmemory_full_display', | |
| 370 'drmemory_full_extensions', | |
| 371 'drmemory_full_events', | |
| 372 'drmemory_full_gin', | |
| 373 'drmemory_full_google_apis', | |
| 374 'drmemory_full_gfx', | |
| 375 'drmemory_full_installer_util', | |
| 376 'drmemory_full_keyboard', | |
| 377 ], | |
| 378 factory_properties={'halt_on_missing_build': True}, | |
| 379 ) | |
| 380 | |
| 381 # DrMemory x64 Builder | |
| 382 f_chromium_rel_win_drmemory_64_builder = F_WIN_NINJA( | |
| 383 slave_type='Builder', | |
| 384 target='Release_x64', | |
| 385 # TODO(bruening): remove "_dbg" from this name in all.gyp as it is | |
| 386 # not limited to just Debug. | |
| 387 options=['chromium_builder_dbg_drmemory_win'], | |
| 388 factory_properties={ | |
| 389 'gclient_env': { | |
| 390 'GYP_DEFINES' : ( | |
| 391 'build_for_tool=drmemory component=shared_library ' | |
| 392 'target_arch=x64'), | |
| 393 'GYP_GENERATORS': 'ninja', | |
| 394 }, | |
| 395 'trigger': 'chromium_win_drmemory_64', | |
| 396 'build_url': chromium_win_drmemory_64_archive, | |
| 397 'use_mb': True, | |
| 398 } | |
| 399 ) | |
| 400 | |
| 401 # Windows Unit (DrMemory x64) | |
| 402 f_chromium_rel_win_drmemory_64 = F_WIN_NINJA( | |
| 403 slave_type='Tester', | |
| 404 target='Release_x64', | |
| 405 build_url=chromium_win_drmemory_64_archive, | |
| 406 tests=[ | |
| 407 'drmemory_light_url', | |
| 408 'drmemory_light_printing', | |
| 409 'drmemory_light_media', | |
| 410 'drmemory_light_midi', | |
| 411 'drmemory_light_sql', | |
| 412 'drmemory_light_crypto', | |
| 413 'drmemory_light_remoting', | |
| 414 'drmemory_light_ipc_tests', | |
| 415 'drmemory_light_base_unittests', | |
| 416 'drmemory_light_net', | |
| 417 'drmemory_light_components', | |
| 418 'drmemory_light_device', | |
| 419 'drmemory_light_jingle', | |
| 420 'drmemory_light_gcm', | |
| 421 'drmemory_light_gpu', | |
| 422 'drmemory_light_content', | |
| 423 'drmemory_light_cacheinvalidation', | |
| 424 'drmemory_light_addressinput', | |
| 425 'drmemory_light_phonenumber', | |
| 426 'drmemory_light_mojo_system', | |
| 427 'drmemory_light_mojo_public_system', | |
| 428 'drmemory_light_mojo_public_bindings', | |
| 429 'drmemory_light_mojo_public_sysperf', | |
| 430 'drmemory_light_mojo_common', | |
| 431 'drmemory_light_accessibility', | |
| 432 'drmemory_light_angle', | |
| 433 'drmemory_light_aura', | |
| 434 'drmemory_light_blink_heap', | |
| 435 'drmemory_light_blink_platform', | |
| 436 'drmemory_light_cast', | |
| 437 'drmemory_light_cc', | |
| 438 'drmemory_light_chrome_app', | |
| 439 'drmemory_light_chrome_elf', | |
| 440 'drmemory_light_chromedriver', | |
| 441 'drmemory_light_compositor', | |
| 442 'drmemory_light_courgette', | |
| 443 'drmemory_light_display', | |
| 444 'drmemory_light_extensions', | |
| 445 'drmemory_light_events', | |
| 446 'drmemory_light_gin', | |
| 447 'drmemory_light_google_apis', | |
| 448 'drmemory_light_gfx', | |
| 449 'drmemory_light_installer_util', | |
| 450 'drmemory_light_keyboard', | |
| 451 'drmemory_light_unit', | |
| 452 ], | |
| 453 factory_properties={'halt_on_missing_build': True} | |
| 454 ) | |
| 455 | |
| 456 # Tests that are single-machine shard-safe. | 127 # Tests that are single-machine shard-safe. |
| 457 sharded_tests = [ | 128 sharded_tests = [ |
| 458 'aura_unittests', | 129 'aura_unittests', |
| 459 'base_unittests', | 130 'base_unittests', |
| 460 'browser_tests', | 131 'browser_tests', |
| 461 'cacheinvalidation_unittests', | 132 'cacheinvalidation_unittests', |
| 462 'cc_unittests', | 133 'cc_unittests', |
| 463 'chromedriver_tests', | 134 'chromedriver_tests', |
| 464 'chromedriver_unittests', | 135 'chromedriver_unittests', |
| 465 'components_unittests', | 136 'components_unittests', |
| (...skipping 29 matching lines...) Expand all Loading... |
| 495 # name (required): the name used to describe this bilder | 166 # name (required): the name used to describe this bilder |
| 496 # slavename (required): which slave to use, must appear in c['slaves'] | 167 # slavename (required): which slave to use, must appear in c['slaves'] |
| 497 # builddir (required): which subdirectory to run the builder in | 168 # builddir (required): which subdirectory to run the builder in |
| 498 # factory (required): a BuildFactory to define how the build is run | 169 # factory (required): a BuildFactory to define how the build is run |
| 499 # periodicBuildTime (optional): if set, force a build every N seconds | 170 # periodicBuildTime (optional): if set, force a build every N seconds |
| 500 # category (optional): it is not used in the normal 'buildbot' meaning. It is | 171 # category (optional): it is not used in the normal 'buildbot' meaning. It is |
| 501 # used by gatekeeper to determine which steps it should | 172 # used by gatekeeper to determine which steps it should |
| 502 # look for to close the tree. | 173 # look for to close the tree. |
| 503 # | 174 # |
| 504 | 175 |
| 505 b_chromium_rel_win_drmemory_builder = { | |
| 506 'name': 'Chromium Windows Builder (DrMemory)', | |
| 507 # make the dir short for ninja build | |
| 508 'builddir': 'drm-cr', | |
| 509 'factory': f_chromium_rel_win_drmemory_builder, | |
| 510 'category': '6DrMemory Light|compile', | |
| 511 'auto_reboot': True, | |
| 512 } | |
| 513 | |
| 514 b_chromium_rel_win_drmemory = { | |
| 515 'name': 'Windows Unit (DrMemory)', | |
| 516 'builddir': 'chromium-dbg-win-drmemory', | |
| 517 'factory': f_chromium_rel_win_drmemory, | |
| 518 'category': '6DrMemory Light|drmemory_tester', | |
| 519 'auto_reboot': True, | |
| 520 } | |
| 521 | |
| 522 b_chromium_rel_win_drmemory_content = { | |
| 523 'name': 'Windows Content Browser (DrMemory)', | |
| 524 'builddir': 'windows-content-drm-light', | |
| 525 'factory': f_chromium_rel_win_drmemory_content, | |
| 526 'category': '6DrMemory Light|drmemory_tester', | |
| 527 'auto_reboot': True, | |
| 528 } | |
| 529 | |
| 530 b_chromium_rel_win_drmemory_full_1 = { | |
| 531 'name': 'Windows Unit (DrMemory full) (1)', | |
| 532 'builddir': 'chromium-dbg-win-drmemory-full-1', | |
| 533 'factory': f_chromium_rel_win_drmemory_full_1, | |
| 534 'category': '7DrMemory Full|drmemory_tester', | |
| 535 'auto_reboot': True, | |
| 536 } | |
| 537 | |
| 538 b_chromium_rel_win_drmemory_full_2 = { | |
| 539 'name': 'Windows Unit (DrMemory full) (2)', | |
| 540 'builddir': 'chromium-dbg-win-drmemory-full-2', | |
| 541 'factory': f_chromium_rel_win_drmemory_full_2, | |
| 542 'category': '7DrMemory Full|drmemory_tester', | |
| 543 'auto_reboot': True, | |
| 544 } | |
| 545 | |
| 546 b_chromium_rel_win_drmemory_full_3 = { | |
| 547 'name': 'Windows Unit (DrMemory full) (3)', | |
| 548 'builddir': 'chromium-dbg-win-drmemory-full-3', | |
| 549 'factory': f_chromium_rel_win_drmemory_full_3, | |
| 550 'category': '7DrMemory Full|drmemory_tester', | |
| 551 'auto_reboot': True, | |
| 552 } | |
| 553 | |
| 554 b_chromium_rel_win_drmemory_full_4 = { | |
| 555 'name': 'Windows Unit (DrMemory full) (4)', | |
| 556 'builddir': 'chromium-dbg-win-drmemory-full-4', | |
| 557 'factory': f_chromium_rel_win_drmemory_full_4, | |
| 558 'category': '7DrMemory Full|drmemory_tester', | |
| 559 'auto_reboot': True, | |
| 560 } | |
| 561 | |
| 562 b_chromium_rel_win_drmemory_full_5 = { | |
| 563 'name': 'Windows Unit (DrMemory full) (5)', | |
| 564 'builddir': 'chromium-dbg-win-drmemory-full-5', | |
| 565 'factory': f_chromium_rel_win_drmemory_full_5, | |
| 566 'category': '7DrMemory Full|drmemory_tester', | |
| 567 'auto_reboot': True, | |
| 568 } | |
| 569 | |
| 570 b_chromium_rel_win_drmemory_64_builder = { | |
| 571 'name': 'Chromium Windows Builder (DrMemory x64)', | |
| 572 'builddir': 'drm-cr-64', | |
| 573 'factory': f_chromium_rel_win_drmemory_64_builder, | |
| 574 'category': '9DrMemory x64|compile', | |
| 575 'auto_reboot': True, | |
| 576 } | |
| 577 | |
| 578 b_chromium_rel_win_drmemory_64 = { | |
| 579 'name': 'Windows Unit (DrMemory x64)', | |
| 580 'builddir': 'chromium-dbg-win-drm-64', | |
| 581 'factory': f_chromium_rel_win_drmemory_64, | |
| 582 'category': '9DrMemory x64|drmemory_tester', | |
| 583 'auto_reboot': True, | |
| 584 } | |
| 585 | |
| 586 b_chromium_rel_linux_tsan_builder = { | 176 b_chromium_rel_linux_tsan_builder = { |
| 587 'name': 'Chromium Linux TSan Builder', | 177 'name': 'Chromium Linux TSan Builder', |
| 588 'factory': m_remote_run_chromium_src('chromium', triggers=['linux_tsan']), | 178 'factory': m_remote_run_chromium_src('chromium', triggers=['linux_tsan']), |
| 589 'category': '10TSan v2|compile', | 179 'category': '10TSan v2|compile', |
| 590 'auto_reboot': True, | 180 'auto_reboot': True, |
| 591 } | 181 } |
| 592 | 182 |
| 593 b_chromium_rel_linux_tsan = { | 183 b_chromium_rel_linux_tsan = { |
| 594 'name': 'Linux TSan Tests', | 184 'name': 'Linux TSan Tests', |
| 595 'factory': m_remote_run_chromium_src('chromium'), | 185 'factory': m_remote_run_chromium_src('chromium'), |
| (...skipping 22 matching lines...) Expand all Loading... |
| 618 'auto_reboot': True, | 208 'auto_reboot': True, |
| 619 } | 209 } |
| 620 | 210 |
| 621 b_chromium_rel_linux_chromeos_msan = { | 211 b_chromium_rel_linux_chromeos_msan = { |
| 622 'name': 'Linux ChromeOS MSan Tests', | 212 'name': 'Linux ChromeOS MSan Tests', |
| 623 'factory': m_remote_run_chromium_src('chromium'), | 213 'factory': m_remote_run_chromium_src('chromium'), |
| 624 'category': '12ChromeOS MSan', | 214 'category': '12ChromeOS MSan', |
| 625 'auto_reboot': True, | 215 'auto_reboot': True, |
| 626 } | 216 } |
| 627 | 217 |
| 628 | 218 c['builders'] = [ |
| 629 # DrMemory test bots | |
| 630 b_win_drmemory = [ | |
| 631 b_chromium_rel_win_drmemory_builder, | |
| 632 b_chromium_rel_win_drmemory, | |
| 633 b_chromium_rel_win_drmemory_content, | |
| 634 b_chromium_rel_win_drmemory_full_1, | |
| 635 b_chromium_rel_win_drmemory_full_2, | |
| 636 b_chromium_rel_win_drmemory_full_3, | |
| 637 b_chromium_rel_win_drmemory_full_4, | |
| 638 b_chromium_rel_win_drmemory_full_5, | |
| 639 b_chromium_rel_win_drmemory_64_builder, | |
| 640 b_chromium_rel_win_drmemory_64, | |
| 641 ] | |
| 642 | |
| 643 # We shard content_browsertests within each bot to reduce timeout consequences. | |
| 644 DRMEMORY_CONTENT_SHARDS_PER_BOT = 10 | |
| 645 def windows_content_browser_drmemory_full_tester(shard, total): | |
| 646 if shard < 1 or shard > total: | |
| 647 raise | |
| 648 ret = {'category': '7DrMemory Full|drmemory_tester'} | |
| 649 ret['name'] = 'Windows Content Browser (DrMemory full) (%d)' % shard | |
| 650 ret['builddir'] = 'windows-content-browser-drm-full-%d' % shard | |
| 651 ret['auto_reboot'] = True | |
| 652 testlist = [] | |
| 653 for i in range(DRMEMORY_CONTENT_SHARDS_PER_BOT): | |
| 654 testlist.append( | |
| 655 'drmemory_full_content_browsertests_%d_of_%d' % | |
| 656 ((shard-1)*DRMEMORY_CONTENT_SHARDS_PER_BOT+i+1, | |
| 657 total*DRMEMORY_CONTENT_SHARDS_PER_BOT)) | |
| 658 ret['factory'] = F_WIN_NINJA( | |
| 659 slave_type='Tester', | |
| 660 target='Release', | |
| 661 build_url=chromium_win_drmemory_archive, | |
| 662 tests=testlist, | |
| 663 options=['content_browsertests'], | |
| 664 factory_properties={ 'halt_on_missing_build': True}) | |
| 665 return ret | |
| 666 | |
| 667 # Windows Content Browser (DrMemory full) | |
| 668 for i in range(WINDOWS_CONTENT_BROWSER_DRMEMORY_FULL_TESTERS): | |
| 669 b_win_drmemory.append( | |
| 670 windows_content_browser_drmemory_full_tester( | |
| 671 i + 1, WINDOWS_CONTENT_BROWSER_DRMEMORY_FULL_TESTERS)) | |
| 672 | |
| 673 DRMEMORY_BROWSER_SHARDS_PER_BOT = 4 | |
| 674 def windows_browser_drmemory_full_tester(shard, total): | |
| 675 if shard < 1 or shard > total: | |
| 676 raise | |
| 677 ret = {'category': '8DrMemory Full (Browser Tests)|drmemory_tester'} | |
| 678 ret['name'] = 'Windows Browser (DrMemory full) (%d)' % shard | |
| 679 ret['builddir'] = 'windows-browser-drm-full-%d' % shard | |
| 680 testlist = [] | |
| 681 for i in range(DRMEMORY_BROWSER_SHARDS_PER_BOT): | |
| 682 testlist.append( | |
| 683 'drmemory_full_browser_tests_%d_of_%d' % | |
| 684 ((shard-1)*DRMEMORY_BROWSER_SHARDS_PER_BOT+i+1, | |
| 685 total*DRMEMORY_BROWSER_SHARDS_PER_BOT)) | |
| 686 ret['factory'] = F_WIN_NINJA( | |
| 687 target='Release', | |
| 688 slave_type='Tester', | |
| 689 build_url=chromium_win_drmemory_archive, | |
| 690 tests=testlist, | |
| 691 options=['browser_tests'], | |
| 692 factory_properties={ 'halt_on_missing_build': True}) | |
| 693 return ret | |
| 694 | |
| 695 # Windows Browser (DrMemory full) | |
| 696 for i in range(WINDOWS_BROWSER_DRMEMORY_FULL_TESTERS): | |
| 697 b_win_drmemory.append( | |
| 698 windows_browser_drmemory_full_tester( | |
| 699 i + 1, WINDOWS_BROWSER_DRMEMORY_FULL_TESTERS)) | |
| 700 | |
| 701 c['builders'] = b_win_drmemory | |
| 702 | |
| 703 c['builders'].extend([ | |
| 704 b_chromium_rel_linux_tsan_builder, | 219 b_chromium_rel_linux_tsan_builder, |
| 705 b_chromium_rel_linux_tsan, | 220 b_chromium_rel_linux_tsan, |
| 706 b_chromium_rel_linux_msan_builder, | 221 b_chromium_rel_linux_msan_builder, |
| 707 b_chromium_rel_linux_msan, | 222 b_chromium_rel_linux_msan, |
| 708 b_chromium_rel_linux_chromeos_msan_builder, | 223 b_chromium_rel_linux_chromeos_msan_builder, |
| 709 b_chromium_rel_linux_chromeos_msan, | 224 b_chromium_rel_linux_chromeos_msan, |
| 710 ]) | 225 ] |
| 711 | 226 |
| 712 # Associate the slaves to the manual builders. The configuration is in | 227 # Associate the slaves to the manual builders. The configuration is in |
| 713 # slaves.cfg. | 228 # slaves.cfg. |
| 714 slaves = slaves_list.SlavesList('slaves.cfg', 'ChromiumMemoryFull') | 229 slaves = slaves_list.SlavesList('slaves.cfg', 'ChromiumMemoryFull') |
| 715 for builder in c['builders']: | 230 for builder in c['builders']: |
| 716 builder['slavenames'] = slaves.GetSlavesName(builder=builder['name']) | 231 builder['slavenames'] = slaves.GetSlavesName(builder=builder['name']) |
| 717 | 232 |
| 718 ####### BUILDSLAVES | 233 ####### BUILDSLAVES |
| 719 | 234 |
| 720 # The 'slaves' list defines the set of allowable buildslaves. List all the | 235 # The 'slaves' list defines the set of allowable buildslaves. List all the |
| (...skipping 13 matching lines...) Expand all Loading... |
| 734 # Adds common status and tools to this master. | 249 # Adds common status and tools to this master. |
| 735 master_utils.AutoSetupMaster(c, ActiveMaster, | 250 master_utils.AutoSetupMaster(c, ActiveMaster, |
| 736 public_html='../master.chromium/public_html', | 251 public_html='../master.chromium/public_html', |
| 737 templates=['../master.chromium/templates'], | 252 templates=['../master.chromium/templates'], |
| 738 tagComparator=master_poller.comparator, | 253 tagComparator=master_poller.comparator, |
| 739 enable_http_status_push=ActiveMaster.is_production_host) | 254 enable_http_status_push=ActiveMaster.is_production_host) |
| 740 | 255 |
| 741 if ActiveMaster.is_production_host: | 256 if ActiveMaster.is_production_host: |
| 742 import notifier_cfg | 257 import notifier_cfg |
| 743 notifier_cfg.Update(config, ActiveMaster, c) | 258 notifier_cfg.Update(config, ActiveMaster, c) |
| OLD | NEW |