blob: 3af331ffd9b5c21b6538c34906334b499f6c291c [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 buildbot.schedulers.basic import SingleBranchScheduler
from master.factory import remote_run_factory
import master_site_config
ActiveMaster = master_site_config.WebRTC
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)
def Update(c):
c['schedulers'].extend([
SingleBranchScheduler(name='webrtc_windows_scheduler',
branch='master',
treeStableTimer=30,
builderNames=[
'Win32 Debug',
'Win32 Release',
'Win64 Debug',
'Win64 Release',
'Win32 Debug (Clang)',
'Win32 Release (Clang)',
'Win64 Debug (Clang)',
'Win64 Release (Clang)',
'Win32 ASan',
'Win (more configs)',
]),
])
# 'slavebuilddir' below is used to reduce the number of checkouts since some
# of the builders are pooled over multiple slave machines.
specs = [
{'name': 'Win32 Debug'},
{'name': 'Win32 Release'},
{'name': 'Win64 Debug'},
{'name': 'Win64 Release'},
{'name': 'Win32 Debug (Clang)', 'slavebuilddir': 'win_clang'},
{'name': 'Win32 Release (Clang)', 'slavebuilddir': 'win_clang'},
{'name': 'Win64 Debug (Clang)', 'slavebuilddir': 'win_clang'},
{'name': 'Win64 Release (Clang)', 'slavebuilddir': 'win_clang'},
{'name': 'Win32 ASan', 'slavebuilddir': 'win_asan'},
{
'name': 'Win (more configs)',
'recipe': 'webrtc/more_configs',
'slavebuilddir': 'win_more_configs',
},
]
c['builders'].extend([
{
'name': spec['name'],
# TODO(sergiyb): Remove the timeout below after all bots have synched
# past Blink merge commit.
'factory': m_remote_run(spec.get('recipe', 'webrtc/standalone'),
timeout=3600),
'notify_on_missing': True,
'category': 'win',
'slavebuilddir': spec.get('slavebuilddir', 'win'),
} for spec in specs
])