blob: 1d5a1af543e08d19a26ee4532e4391ae59e22c73 [file] [log] [blame]
# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from master import gitiles_poller
from master import master_config
from master.factory import annotator_factory
from master.factory import remote_run_factory
import master_site_config
ActiveMaster = master_site_config.ChromiumLKGR
defaults = {}
helper = master_config.Helper(defaults)
B = helper.Builder
F = helper.Factory
S = helper.Scheduler
m_annotator = annotator_factory.AnnotatorFactory()
def m_remote_run(recipe, **kwargs):
return remote_run_factory.RemoteRunFactory(
active_master=ActiveMaster,
repository='https://chromium.googlesource.com/chromium/tools/build.git',
recipe=recipe,
factory_properties={'path_config': 'kitchen'},
**kwargs)
defaults['category'] = '1lkgr'
# Global scheduler
S(name='chromium_lkgr', branch='lkgr')
################################################################################
## Windows
################################################################################
# ASan/Win bot.
B('Win ASan Release', 'win_asan_rel', scheduler='chromium_lkgr')
F('win_asan_rel', m_remote_run('chromium'))
# ASan/Win coverage bot.
B('Win ASan Release Coverage', 'win_asan_rel_cov', scheduler='chromium_lkgr')
F('win_asan_rel_cov', m_remote_run('chromium'))
# ASan/Win media bot.
B('Win ASan Release Media', 'win_asan_rel_media', scheduler='chromium_lkgr')
F('win_asan_rel_media', m_remote_run('chromium'))
# Win SyzyASan bot.
B('Win SyzyASAN LKGR', 'win_syzyasan_lkgr', 'compile', 'chromium_lkgr')
F('win_syzyasan_lkgr', m_remote_run('chromium', timeout=7200))
################################################################################
## Mac
################################################################################
asan_mac_gyp = 'asan=1 v8_enable_verify_heap=1 enable_ipc_fuzzer=1 '
B('Mac ASAN Release', 'mac_asan_rel', 'compile', 'chromium_lkgr')
F('mac_asan_rel', m_remote_run('chromium'))
B('Mac ASAN Release Media', 'mac_asan_rel_media', 'compile', 'chromium_lkgr')
F('mac_asan_rel_media', m_remote_run('chromium'))
B('Mac ASAN Debug', 'mac_asan_dbg', 'compile', 'chromium_lkgr')
F('mac_asan_dbg', m_remote_run('chromium'))
################################################################################
## Linux
################################################################################
B('ASAN Release', 'linux_asan_rel', 'compile', 'chromium_lkgr')
F('linux_asan_rel', m_remote_run('chromium',
# We started seeing 29 minute links, bug 360158
timeout=2400))
B('ASAN Release Media', 'linux_asan_rel_media',
'compile', 'chromium_lkgr')
F('linux_asan_rel_media', m_remote_run('chromium',
# We started seeing 29 minute links, bug 360158
timeout=2400))
B('ASAN Debug', 'linux_asan_dbg', 'compile', 'chromium_lkgr')
F('linux_asan_dbg', m_remote_run('chromium'))
B('ChromiumOS ASAN Release', 'linux_chromiumos_asan_rel', 'compile',
'chromium_lkgr')
F('linux_chromiumos_asan_rel', m_remote_run('chromium',
# We started seeing 29 minute links, bug 360158
timeout=2400))
# The build process is described at
# https://sites.google.com/a/chromium.org/dev/developers/testing/addresssanitizer#TOC-Building-with-v8_target_arch-arm
B('ASan Debug (32-bit x86 with V8-ARM)',
'linux_asan_dbg_ia32_v8_arm',
'compile', 'chromium_lkgr')
F('linux_asan_dbg_ia32_v8_arm', m_remote_run('chromium'))
B('ASan Release (32-bit x86 with V8-ARM)',
'linux_asan_rel_ia32_v8_arm',
'compile', 'chromium_lkgr')
F('linux_asan_rel_ia32_v8_arm', m_remote_run('chromium'))
B('ASan Release Media (32-bit x86 with V8-ARM)',
'linux_asan_rel_media_ia32_v8_arm',
'compile', 'chromium_lkgr')
F('linux_asan_rel_media_ia32_v8_arm', m_remote_run('chromium'))
# TSan bots.
B('TSAN Release', 'linux_tsan_rel', 'compile', 'chromium_lkgr')
F('linux_tsan_rel', m_remote_run('chromium'))
B('TSAN Debug', 'linux_tsan_dbg', 'compile', 'chromium_lkgr')
F('linux_tsan_dbg', m_remote_run('chromium'))
# MSan bots.
B('MSAN Release (no origins)', 'linux_msan_rel_no_origins', 'compile',
'chromium_lkgr')
F('linux_msan_rel_no_origins', m_remote_run('chromium'))
B('MSAN Release (chained origins)', 'linux_msan_rel_chained_origins', 'compile',
'chromium_lkgr')
F('linux_msan_rel_chained_origins', m_remote_run('chromium'))
# This is a bot that uploads LKGR telemetry harnesses to Google Storage.
B('Telemetry Harness Upload', 'telemetry_harness_upload', None, 'chromium_lkgr')
F('telemetry_harness_upload',
m_annotator.BaseFactory('perf/telemetry_harness_upload'))
# UBSan bots.
B('UBSan Release', 'linux_ubsan_rel', 'compile', 'chromium_lkgr')
# UBSan builds very slowly with edge level coverage
F('linux_ubsan_rel', m_remote_run('chromium', timeout=5400))
B('UBSan vptr Release', 'linux_ubsan_vptr_rel', 'compile', 'chromium_lkgr')
F('linux_ubsan_vptr_rel', m_remote_run('chromium'))
def Update(_config, active_master, c):
lkgr_poller = gitiles_poller.GitilesPoller(
'https://chromium.googlesource.com/chromium/src',
branches=['lkgr'])
c['change_source'].append(lkgr_poller)
return helper.Update(c)