blob: ea94fbc6451d36d2b079d8d4d44728855af2e427 [file] [log] [blame]
# -*- python -*-
# vim: ft=python:
# Copyright (c) 2013 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 os
from buildbot.scheduler import Nightly
from master import build_utils
from master import master_utils
from master import slaves_list
from master.factory import annotator_factory
import config
import master_site_config
ActiveMaster = master_site_config.Gatekeeper
MAIL_NOTIFIER = False
c = BuildmasterConfig = {}
c['slavePortnum'] = ActiveMaster.slave_port
config.DatabaseSetup(c)
####### SCHEDULERS
# Actually 'Minutely' instead of 'Nightly.' It kicks off a run every minute.
s_chromium_gatekeeper = Nightly(name='gatekeeper',
branch=None,
minute='*',
builderNames=['Chromium Gatekeeper',
'Chromium Gatekeeper Failure'])
c['schedulers'] = [s_chromium_gatekeeper]
# ----------------------------------------------------------------------------
# FACTORIES
factory_obj = annotator_factory.AnnotatorFactory()
f_chromium_gatekeeper = factory_obj.BaseFactory('gatekeeper')
f_chromium_gatekeeper_failure = factory_obj.BaseFactory('gatekeeper-failure')
# ----------------------------------------------------------------------------
# BUILDER DEFINITIONS
b_chromium_gatekeeper = {
'name': 'Chromium Gatekeeper',
'builddir': 'gatekeeper',
'factory': f_chromium_gatekeeper,
'auto_reboot' : False,
}
b_chromium_gatekeeper_failure = {
'name': 'Chromium Gatekeeper Failure',
'builddir': 'chromium-gatekeeper-failure',
'factory': f_chromium_gatekeeper_failure,
'auto_reboot' : False,
}
c['builders'] = [b_chromium_gatekeeper,
b_chromium_gatekeeper_failure]
# Associate the slaves to the builders. The configuration is in slaves.cfg.
slaves = slaves_list.SlavesList('slaves.cfg', 'Gatekeeper')
for builder in c['builders']:
builder['slavenames'] = slaves.GetSlavesName(builder=builder['name'])
####### BUILDSLAVES
c['slaves'] = master_utils.AutoSetupSlaves(c['builders'],
config.Master.GetBotPassword())
# Make sure everything works together.
master_utils.VerifySetup(c, slaves)
####### STATUS TARGETS
c['logCompressionLimit'] = False
c['projectName'] = ActiveMaster.project_name
c['projectURL'] = config.Master.project_url
# Must come before AutoSetupMaster().
c['buildbotURL'] = ActiveMaster.buildbot_url
master_utils.AutoSetupMaster(c, ActiveMaster, MAIL_NOTIFIER)
# Do it at the end to override values set by AutoSetupMaster, the default is
# too low. Must keep at least a few days worth of builds.
c['buildHorizon'] = 3000
c['logHorizon'] = 3000
# Must be at least 2x the number of slaves.
c['eventHorizon'] = 200