| 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 master import gitiles_poller | 5 from master import gitiles_poller |
| 6 from master import master_config | 6 from master import master_config |
| 7 from master.factory import annotator_factory | 7 from master.factory import annotator_factory |
| 8 from master.factory import chromium_factory | 8 from master.factory import chromium_factory |
| 9 | 9 |
| 10 import master_site_config | 10 import master_site_config |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 | 26 |
| 27 defaults['category'] = '1lkgr' | 27 defaults['category'] = '1lkgr' |
| 28 | 28 |
| 29 # Global scheduler | 29 # Global scheduler |
| 30 S(name='chromium_lkgr', branch='lkgr') | 30 S(name='chromium_lkgr', branch='lkgr') |
| 31 | 31 |
| 32 ################################################################################ | 32 ################################################################################ |
| 33 ## Windows | 33 ## Windows |
| 34 ################################################################################ | 34 ################################################################################ |
| 35 | 35 |
| 36 # ASan/Win supports neither the component build nor NaCL at the moment. | 36 # ASan/Win bot. |
| 37 asan_win_gyp = ('asan=1 component=static_library enable_ipc_fuzzer=1 ' | |
| 38 'v8_enable_verify_heap=1') | |
| 39 | |
| 40 # Clang is not stable enough on Windows to use a gatekeeper yet. | |
| 41 B('Win ASan Release', 'win_asan_rel', scheduler='chromium_lkgr') | 37 B('Win ASan Release', 'win_asan_rel', scheduler='chromium_lkgr') |
| 42 F('win_asan_rel', win_out().ChromiumASANFactory( | 38 # We currently use a VM, which is extremely slow. |
| 43 compile_timeout=8*3600, # We currently use a VM, which is extremely slow. | 39 F('win_asan_rel', m_annotator.BaseFactory(recipe='chromium', timeout=8*3600)) |
| 44 clobber=True, | |
| 45 options=['--build-tool=ninja', '--', 'chromium_builder_asan'], | |
| 46 factory_properties={ | |
| 47 'cf_archive_build': ActiveMaster.is_production_host, | |
| 48 'cf_archive_name': 'asan', | |
| 49 'gs_bucket': 'gs://chromium-browser-asan', | |
| 50 'gs_acl': 'public-read', | |
| 51 'gclient_env': {'GYP_DEFINES': asan_win_gyp}, | |
| 52 'use_mb': True, | |
| 53 })) | |
| 54 | 40 |
| 55 # ASan/Win coverage bot. | 41 # ASan/Win coverage bot. |
| 56 B('Win ASan Release Coverage', 'win_asan_rel_cov', scheduler='chromium_lkgr') | 42 B('Win ASan Release Coverage', 'win_asan_rel_cov', scheduler='chromium_lkgr') |
| 57 F('win_asan_rel_cov', win_out().ChromiumASANFactory( | 43 F('win_asan_rel_cov', m_annotator.BaseFactory(recipe='chromium', |
| 58 compile_timeout=8*3600, # We currently use a VM, which is extremely slow. | 44 # We currently use a VM, which is extremely slow. |
| 59 clobber=True, | 45 timeout=8*3600)) |
| 60 options=['--build-tool=ninja', '--', 'chromium_builder_asan'], | |
| 61 factory_properties={ | |
| 62 'cf_archive_build': ActiveMaster.is_production_host, | |
| 63 'cf_archive_name': 'asan-coverage', | |
| 64 'gs_bucket': 'gs://chromium-browser-asan', | |
| 65 'gs_acl': 'public-read', | |
| 66 'gclient_env': { | |
| 67 'GYP_DEFINES': asan_win_gyp + ' sanitizer_coverage=edge', | |
| 68 }, | |
| 69 'use_mb': True, | |
| 70 })) | |
| 71 | 46 |
| 72 | 47 # ASan/Win media bot. |
| 73 # ASan/Win supports neither the component build nor NaCL at the moment. | |
| 74 media_gyp = (' proprietary_codecs=1 ffmpeg_branding=Chrome') | |
| 75 asan_win_media_gyp = asan_win_gyp + media_gyp | |
| 76 | |
| 77 # Clang is not stable enough on Windows to use a gatekeeper yet. | |
| 78 B('Win ASan Release Media', 'win_asan_rel_media', | 48 B('Win ASan Release Media', 'win_asan_rel_media', |
| 79 scheduler='chromium_lkgr') | 49 scheduler='chromium_lkgr') |
| 80 F('win_asan_rel_media', win_out().ChromiumASANFactory( | 50 F('win_asan_rel_media', m_annotator.BaseFactory(recipe='chromium', |
| 81 compile_timeout=8*3600, # We currently use a VM, which is extremely slow. | 51 # We currently use a VM, which is extremely slow. |
| 82 clobber=True, | 52 timeout=8*3600)) |
| 83 options=['--build-tool=ninja', '--', 'chromium_builder_asan'], | |
| 84 factory_properties={ | |
| 85 'cf_archive_build': ActiveMaster.is_production_host, | |
| 86 'cf_archive_name': 'asan', | |
| 87 'gs_bucket': 'gs://chrome-test-builds/media', | |
| 88 'gclient_env': {'GYP_DEFINES': asan_win_media_gyp}, | |
| 89 'use_mb': True, | |
| 90 })) | |
| 91 | 53 |
| 92 # Win SyzyASan bot. | 54 # Win SyzyASan bot. |
| 93 B('Win SyzyASAN LKGR', 'win_syzyasan_lkgr', 'compile', 'chromium_lkgr') | 55 B('Win SyzyASAN LKGR', 'win_syzyasan_lkgr', 'compile', 'chromium_lkgr') |
| 94 F('win_syzyasan_lkgr', m_annotator.BaseFactory(recipe='chromium', timeout=7200)) | 56 F('win_syzyasan_lkgr', m_annotator.BaseFactory(recipe='chromium', timeout=7200)) |
| 95 | 57 |
| 96 ################################################################################ | 58 ################################################################################ |
| 97 ## Mac | 59 ## Mac |
| 98 ################################################################################ | 60 ################################################################################ |
| 99 | 61 |
| 100 asan_mac_gyp = 'asan=1 v8_enable_verify_heap=1 enable_ipc_fuzzer=1 ' | 62 asan_mac_gyp = 'asan=1 v8_enable_verify_heap=1 enable_ipc_fuzzer=1 ' |
| 101 | 63 |
| 102 B('Mac ASAN Release', 'mac_asan_rel', 'compile', 'chromium_lkgr') | 64 B('Mac ASAN Release', 'mac_asan_rel', 'compile', 'chromium_lkgr') |
| 103 F('mac_asan_rel', linux().ChromiumASANFactory( | 65 F('mac_asan_rel', linux().ChromiumASANFactory( |
| 104 clobber=True, | 66 clobber=True, |
| 105 options=['--compiler=goma-clang', '--', '-target', 'chromium_builder_asan'], | 67 options=['--compiler=goma-clang', '--', '-target', 'chromium_builder_asan'], |
| 106 factory_properties={ | 68 factory_properties={ |
| 107 'cf_archive_build': ActiveMaster.is_production_host, | 69 'cf_archive_build': ActiveMaster.is_production_host, |
| 108 'cf_archive_name': 'asan', | 70 'cf_archive_name': 'asan', |
| 109 'gs_bucket': 'gs://chromium-browser-asan', | 71 'gs_bucket': 'gs://chromium-browser-asan', |
| 110 'gs_acl': 'public-read', | 72 'gs_acl': 'public-read', |
| 111 'gclient_env': {'GYP_DEFINES': asan_mac_gyp}, | 73 'gclient_env': {'GYP_DEFINES': asan_mac_gyp}, |
| 112 'use_mb': True, | 74 'use_mb': True, |
| 113 })) | 75 })) |
| 114 | 76 |
| 77 media_gyp = (' proprietary_codecs=1 ffmpeg_branding=Chrome') |
| 115 B('Mac ASAN Release Media', 'mac_asan_rel_media', 'compile', 'chromium_lkgr') | 78 B('Mac ASAN Release Media', 'mac_asan_rel_media', 'compile', 'chromium_lkgr') |
| 116 F('mac_asan_rel_media', linux().ChromiumASANFactory( | 79 F('mac_asan_rel_media', linux().ChromiumASANFactory( |
| 117 clobber=True, | 80 clobber=True, |
| 118 options=['--compiler=goma-clang', '--', '-target', 'chromium_builder_asan'], | 81 options=['--compiler=goma-clang', '--', '-target', 'chromium_builder_asan'], |
| 119 factory_properties={ | 82 factory_properties={ |
| 120 'cf_archive_build': ActiveMaster.is_production_host, | 83 'cf_archive_build': ActiveMaster.is_production_host, |
| 121 'cf_archive_name': 'asan', | 84 'cf_archive_name': 'asan', |
| 122 'gs_bucket': 'gs://chrome-test-builds/media', | 85 'gs_bucket': 'gs://chrome-test-builds/media', |
| 123 'gclient_env': {'GYP_DEFINES': asan_mac_gyp + media_gyp}, | 86 'gclient_env': {'GYP_DEFINES': asan_mac_gyp + media_gyp}, |
| 124 'use_mb': True, | 87 'use_mb': True, |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 296 factory_properties={ | 259 factory_properties={ |
| 297 'cf_archive_build': ActiveMaster.is_production_host, | 260 'cf_archive_build': ActiveMaster.is_production_host, |
| 298 'cf_archive_subdir_suffix': 'v8-arm', | 261 'cf_archive_subdir_suffix': 'v8-arm', |
| 299 'cf_archive_name': 'asan-symbolized-v8-arm', | 262 'cf_archive_name': 'asan-symbolized-v8-arm', |
| 300 'gs_bucket': 'gs://chromium-browser-asan', | 263 'gs_bucket': 'gs://chromium-browser-asan', |
| 301 'gs_acl': 'public-read', | 264 'gs_acl': 'public-read', |
| 302 'gclient_env': {'GYP_DEFINES': asan_ia32_v8_arm_rel_sym}, | 265 'gclient_env': {'GYP_DEFINES': asan_ia32_v8_arm_rel_sym}, |
| 303 'use_mb': True, | 266 'use_mb': True, |
| 304 })) | 267 })) |
| 305 | 268 |
| 306 # The build process for TSan is described at | 269 # TSan bots. |
| 307 # http://dev.chromium.org/developers/testing/threadsanitizer-tsan-v2 | |
| 308 tsan_gyp = ('tsan=1 disable_nacl=1 ' | |
| 309 'debug_extra_cflags="-gline-tables-only" ') | |
| 310 | |
| 311 B('TSAN Release', 'linux_tsan_rel', 'compile', 'chromium_lkgr') | 270 B('TSAN Release', 'linux_tsan_rel', 'compile', 'chromium_lkgr') |
| 312 F('linux_tsan_rel', linux().ChromiumFactory( | 271 F('linux_tsan_rel', m_annotator.BaseFactory(recipe='chromium')) |
| 313 clobber=True, | |
| 314 options=['--compiler=goma-clang', 'chromium_builder_asan'], | |
| 315 factory_properties={ | |
| 316 'cf_archive_build': ActiveMaster.is_production_host, | |
| 317 'cf_archive_name': 'tsan', | |
| 318 'gs_bucket': 'gs://chromium-browser-tsan', | |
| 319 'gs_acl': 'public-read', | |
| 320 'tsan': True, | |
| 321 'gclient_env': {'GYP_DEFINES': tsan_gyp}, | |
| 322 'use_mb': True, | |
| 323 })) | |
| 324 | 272 |
| 325 B('TSAN Debug', 'linux_tsan_dbg', 'compile', 'chromium_lkgr') | 273 B('TSAN Debug', 'linux_tsan_dbg', 'compile', 'chromium_lkgr') |
| 326 F('linux_tsan_dbg', linux().ChromiumFactory( | 274 F('linux_tsan_dbg', m_annotator.BaseFactory(recipe='chromium')) |
| 327 clobber=True, | |
| 328 target='Debug', | |
| 329 options=['--compiler=goma-clang', 'chromium_builder_asan'], | |
| 330 factory_properties={ | |
| 331 'cf_archive_build': ActiveMaster.is_production_host, | |
| 332 'cf_archive_name': 'tsan', | |
| 333 'gs_bucket': 'gs://chromium-browser-tsan', | |
| 334 'gs_acl': 'public-read', | |
| 335 'tsan': True, | |
| 336 'gclient_env': {'GYP_DEFINES': tsan_gyp}, | |
| 337 'use_mb': True, | |
| 338 })) | |
| 339 | 275 |
| 340 # The build process for MSan is described at | 276 # MSan bots. |
| 341 # http://dev.chromium.org/developers/testing/memorysanitizer | |
| 342 msan_gyp = ('msan=1 sanitizer_coverage=edge ' | |
| 343 'use_prebuilt_instrumented_libraries=1 ') | |
| 344 | |
| 345 B('MSAN Release (no origins)', 'linux_msan_rel_no_origins', 'compile', | 277 B('MSAN Release (no origins)', 'linux_msan_rel_no_origins', 'compile', |
| 346 'chromium_lkgr') | 278 'chromium_lkgr') |
| 347 F('linux_msan_rel_no_origins', linux().ChromiumFactory( | 279 F('linux_msan_rel_no_origins', m_annotator.BaseFactory(recipe='chromium')) |
| 348 clobber=True, | |
| 349 target='Release', | |
| 350 options=['--compiler=goma-clang', 'chromium_builder_asan'], | |
| 351 factory_properties={ | |
| 352 'cf_archive_build': ActiveMaster.is_production_host, | |
| 353 'cf_archive_name': 'msan-no-origins', | |
| 354 'gs_bucket': 'gs://chromium-browser-msan', | |
| 355 'gs_acl': 'public-read', | |
| 356 'gclient_env': {'GYP_DEFINES': msan_gyp + 'msan_track_origins=0 '}, | |
| 357 'use_mb': True, | |
| 358 })) | |
| 359 | 280 |
| 360 B('MSAN Release (chained origins)', 'linux_msan_rel_chained_origins', 'compile', | 281 B('MSAN Release (chained origins)', 'linux_msan_rel_chained_origins', 'compile', |
| 361 'chromium_lkgr') | 282 'chromium_lkgr') |
| 362 F('linux_msan_rel_chained_origins', linux().ChromiumFactory( | 283 F('linux_msan_rel_chained_origins', m_annotator.BaseFactory(recipe='chromium')) |
| 363 clobber=True, | |
| 364 target='Release', | |
| 365 options=['--compiler=goma-clang', 'chromium_builder_asan'], | |
| 366 factory_properties={ | |
| 367 'cf_archive_build': ActiveMaster.is_production_host, | |
| 368 'cf_archive_name': 'msan-chained-origins', | |
| 369 'gs_bucket': 'gs://chromium-browser-msan', | |
| 370 'gs_acl': 'public-read', | |
| 371 'gclient_env': {'GYP_DEFINES': msan_gyp + 'msan_track_origins=2 '}, | |
| 372 'use_mb': True, | |
| 373 })) | |
| 374 | 284 |
| 375 # This is a bot that uploads LKGR telemetry harnesses to Google Storage. | 285 # This is a bot that uploads LKGR telemetry harnesses to Google Storage. |
| 376 B('Telemetry Harness Upload', 'telemetry_harness_upload', None, 'chromium_lkgr') | 286 B('Telemetry Harness Upload', 'telemetry_harness_upload', None, 'chromium_lkgr') |
| 377 F('telemetry_harness_upload', | 287 F('telemetry_harness_upload', |
| 378 m_annotator.BaseFactory('perf/telemetry_harness_upload')) | 288 m_annotator.BaseFactory('perf/telemetry_harness_upload')) |
| 379 | 289 |
| 380 | 290 # UBSan bots. |
| 381 B('UBSan Release', 'linux_ubsan_rel', 'compile', 'chromium_lkgr') | 291 B('UBSan Release', 'linux_ubsan_rel', 'compile', 'chromium_lkgr') |
| 382 # UBSan builds very slowly with edge level coverage | 292 # UBSan builds very slowly with edge level coverage |
| 383 F('linux_ubsan_rel', m_annotator.BaseFactory(recipe='chromium', timeout=5400)) | 293 F('linux_ubsan_rel', m_annotator.BaseFactory(recipe='chromium', timeout=5400)) |
| 384 | 294 |
| 385 B('UBSan vptr Release', 'linux_ubsan_vptr_rel', 'compile', 'chromium_lkgr') | 295 B('UBSan vptr Release', 'linux_ubsan_vptr_rel', 'compile', 'chromium_lkgr') |
| 386 F('linux_ubsan_vptr_rel', m_annotator.BaseFactory(recipe='chromium')) | 296 F('linux_ubsan_vptr_rel', m_annotator.BaseFactory(recipe='chromium')) |
| 387 | 297 |
| 388 def Update(_config, active_master, c): | 298 def Update(_config, active_master, c): |
| 389 lkgr_poller = gitiles_poller.GitilesPoller( | 299 lkgr_poller = gitiles_poller.GitilesPoller( |
| 390 'https://chromium.googlesource.com/chromium/src', | 300 'https://chromium.googlesource.com/chromium/src', |
| 391 branches=['lkgr']) | 301 branches=['lkgr']) |
| 392 c['change_source'].append(lkgr_poller) | 302 c['change_source'].append(lkgr_poller) |
| 393 return helper.Update(c) | 303 return helper.Update(c) |
| OLD | NEW |