| Index: masters/master.chromium.infra.codesearch/master.cfg
|
| diff --git a/masters/master.chromium.infra.codesearch/master.cfg b/masters/master.chromium.infra.codesearch/master.cfg
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a9a8efba75a2005980acb45bf50da6e2bb10ea90
|
| --- /dev/null
|
| +++ b/masters/master.chromium.infra.codesearch/master.cfg
|
| @@ -0,0 +1,148 @@
|
| +# -*- python -*-
|
| +# ex: set syntax=python:
|
| +
|
| +# Copyright 2015 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.
|
| +
|
| +import config
|
| +import master_site_config
|
| +
|
| +from buildbot.changes.filter import ChangeFilter
|
| +from buildbot.process.properties import WithProperties
|
| +from buildbot.schedulers.basic import AnyBranchScheduler
|
| +from buildbot.status import mail
|
| +
|
| +from master import gitiles_poller
|
| +from master import master_utils
|
| +from master import slaves_list
|
| +from master.factory import annotator_factory
|
| +from master.factory import remote_run_factory
|
| +
|
| +
|
| +ActiveMaster = master_site_config.InfraCodesearch
|
| +
|
| +c = BuildmasterConfig = {}
|
| +c['slavePortnum'] = ActiveMaster.slave_port
|
| +c['schedulers'] = []
|
| +c['builders'] = []
|
| +c['change_source'] = []
|
| +c['status'] = []
|
| +
|
| +f_annotations = annotator_factory.AnnotatorFactory(ActiveMaster)
|
| +
|
| +def m_remote_run(recipe, **kwargs):
|
| + props = {'path_config': 'kitchen'}
|
| + props.update(kwargs.pop('properties', {}))
|
| + return remote_run_factory.RemoteRunFactory(
|
| + active_master=ActiveMaster,
|
| + repository=kwargs.pop(
|
| + 'repository', 'https://chromium.googlesource.com/infra/infra.git'),
|
| + recipe=recipe,
|
| + factory_properties=props,
|
| + **kwargs)
|
| +
|
| +revision_getter = master_utils.ConditionalProperty(
|
| + lambda build: build.getProperty('revision'),
|
| + WithProperties('%(revision)s'),
|
| + 'origin/master')
|
| +
|
| +####### DATABASE
|
| +
|
| +config.DatabaseSetup(c)
|
| +
|
| +####### CHANGE SOURCES
|
| +
|
| +INFRA_REPO_URL = 'https://chromium.googlesource.com/infra/infra'
|
| +TOOLS_BUILD_URL = 'https://chromium.googlesource.com/chromium/tools/build'
|
| +CHROMIUM_REPO_URL = 'https://chromium.googlesource.com/chromium/src'
|
| +
|
| +c['change_source'].extend([
|
| + gitiles_poller.GitilesPoller(INFRA_REPO_URL),
|
| + gitiles_poller.GitilesPoller(CHROMIUM_REPO_URL),
|
| + gitiles_poller.GitilesPoller(TOOLS_BUILD_URL),
|
| +])
|
| +
|
| +####### BUILDERS
|
| +
|
| +c['builders'].extend([
|
| + {
|
| + 'name': 'codesearch-submodules-chromium',
|
| + 'factory': m_remote_run(
|
| + 'sync_submodules', repository=INFRA_REPO_URL,
|
| + properties={'source_repo': CHROMIUM_REPO_URL}),
|
| + 'category': 'codesearch-submodules',
|
| + },
|
| + {
|
| + 'name': 'codesearch-submodules-infra',
|
| + 'factory': m_remote_run(
|
| + 'sync_submodules', repository=INFRA_REPO_URL,
|
| + properties={'source_repo': INFRA_REPO_URL}),
|
| + 'category': 'codesearch-submodules',
|
| + },
|
| + {
|
| + 'name': 'codesearch-submodules-build',
|
| + 'factory': m_remote_run(
|
| + 'sync_submodules', repository=INFRA_REPO_URL,
|
| + properties={'source_repo': TOOLS_BUILD_URL}),
|
| + 'category': 'codesearch-submodules',
|
| + },
|
| +])
|
| +
|
| +####### SCHEDULERS
|
| +
|
| +c['schedulers'].extend([
|
| + AnyBranchScheduler(
|
| + name='infra-scheduler',
|
| + change_filter=ChangeFilter(project=['infra']),
|
| + treeStableTimer=30,
|
| + builderNames=[
|
| + 'codesearch-submodules-infra',
|
| + ]
|
| + ),
|
| + AnyBranchScheduler(
|
| + name='chromium-scheduler',
|
| + change_filter=ChangeFilter(project=['src']),
|
| + treeStableTimer=1,
|
| + builderNames=[
|
| + 'codesearch-submodules-chromium',
|
| + ]
|
| + ),
|
| + AnyBranchScheduler(
|
| + name='build-scheduler',
|
| + change_filter=ChangeFilter(project=['build']),
|
| + treeStableTimer=1,
|
| + builderNames=[
|
| + 'codesearch-submodules-build',
|
| + ]
|
| + ),
|
| +])
|
| +
|
| +####### BUILDSLAVES
|
| +
|
| +# Associate the slaves to the builders. The configuration is in slaves.cfg.
|
| +slaves = slaves_list.SlavesList('slaves.cfg', 'InfraCodesearch')
|
| +for builder in c['builders']:
|
| + builder['slavenames'] = slaves.GetSlavesName(builder=builder['name'])
|
| +
|
| +# The 'slaves' list defines the set of allowable buildslaves. List all the
|
| +# slaves registered to a builder. Remove dupes.
|
| +c['slaves'] = master_utils.AutoSetupSlaves(
|
| + c['builders'], config.Master.GetBotPassword())
|
| +
|
| +# Make sure everything works together.
|
| +master_utils.VerifySetup(c, slaves)
|
| +
|
| +####### STATUS TARGETS
|
| +
|
| +# Adds common status and tools (web status, mail notifier) to this master.
|
| +master_utils.AutoSetupMaster(
|
| + c, ActiveMaster, mail_notifier=False, order_console_by_time=True,
|
| + public_html='./public_html',
|
| + templates=['./templates', '../master.chromium/templates']
|
| +)
|
| +
|
| +####### PROJECT IDENTITY
|
| +
|
| +c['projectName'] = ActiveMaster.project_name
|
| +c['buildbotURL'] = ActiveMaster.buildbot_url
|
|
|