Index: master/master.cfg |
diff --git a/master/master.cfg b/master/master.cfg |
deleted file mode 100644 |
index faf857e539b70fe3ba63a3597103c24b820a0be1..0000000000000000000000000000000000000000 |
--- a/master/master.cfg |
+++ /dev/null |
@@ -1,190 +0,0 @@ |
-# Copyright (c) 2011 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 datetime |
-import os |
-import traceback |
- |
-# These modules come from $(TOPLEVEL_DIR)/scripts , |
-# which must be in the PYTHONPATH. |
-from buildbot.status.web.baseweb import WebStatus |
-from master import master_utils |
-from master import slaves_list |
-from master.status_push import TryServerHttpStatusPush |
- |
-import skia_notifier |
- |
-# This module comes from $(TOPLEVEL_DIR)/site_config , |
-# which must be in the PYTHONPATH. |
-import config |
- |
-# These modules come from the local directory. |
-from skia_master_scripts import monkeypatches |
-from skia_master_scripts import utils |
-from skia_master_scripts import graphite_status_push |
-from webstatus import buildstatus |
-from webstatus import console |
-from webstatus import waterfall |
-import builder_name_schema |
-import master_source_cfg |
-import skia_vars |
- |
- |
-c = BuildmasterConfig = {} |
-c['change_source'] = [] |
-c['schedulers'] = [] |
-c['builders'] = [] |
-c['status'] = [] |
- |
- |
-def GetSkiaGateKeeper(): |
- """Returns the GateKeeper used by Skia. |
- |
- If any of the bots in the Build category (compile bots) fails the specified |
- build steps, then the tree is automatically closed and an email is sent about |
- the tree closure. |
- |
- Note: The tree is not closed if the last run of the builder had the same |
- failing step as the current run. The tree is also not closed if the |
- gatekeeper closed the tree less than 10 mins ago. |
- """ |
- # Run the gatekeeper only on the following categories and build steps. |
- categories_steps = { |
- builder_name_schema.BUILDER_ROLE_BUILD: |
- skia_vars.GetGlobalVariable('gatekeeper_steps') |
- } |
- return monkeypatches.SkiaGateKeeper( |
- fromaddr=config.Master.Skia.from_address, |
- categories_steps=categories_steps, |
- exclusions={}, |
- subject='buildbot %(result)s in %(projectName)s on %(builder)s, ' |
- 'revision %(revision)s', |
- extraRecipients=config.Master.Skia.tree_closing_notification_recipients, |
- lookup=master_utils.FilterDomain(), |
- forgiving_steps=[], |
- useTls=config.Master.smtp_use_tls, |
- smtpUser=config.Master.smtp_user, |
- smtpPassword=SMTP_PASSWORD, |
- smtpPort=config.Master.smtp_port, |
- relayhost=config.Master.smtp_server, |
- tree_status_url=config.Master.Skia.tree_status_url, |
- check_revisions=True) |
- |
- |
-ActiveMaster = config.Master.set_active_master(os.environ.get('TESTING_MASTER', |
- 'Skia')) |
- |
-ActiveMaster.running_revision = utils.get_current_revision() |
-ActiveMaster.launch_datetime = datetime.datetime.utcnow() |
- |
-# Load the builder configuration. |
-ActiveMaster.create_schedulers_and_builders(c) |
- |
-# Load the source configuration. |
-master_source_cfg.Update(config, ActiveMaster, c) |
- |
-# Associate the slaves to the manual builders. The configuration is in |
-# slaves.cfg. |
-slaves = slaves_list.SlavesList('slaves.cfg', ActiveMaster.__class__.__name__) |
- |
-# The SMTP password is only required if the master is a production host. |
-if ActiveMaster.is_production_host: |
- try: |
- SMTP_PASSWORD = open('.skia_buildbots_password').readline().strip() |
- except IOError, e: |
- traceback.print_exc() |
- raise Exception('Please create a .skia_buildbots_password file in the ' |
- 'master directory if the master needs to run as a ' |
- 'production host (Password is in valentine).') |
-else: |
- SMTP_PASSWORD = 'dummy_password' |
- |
- |
-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()) |
-master_utils.VerifySetup(c, slaves) |
- |
-# For each slave instance, add the key/value pairs in its associated dictionary, |
-# defined in slaves.cfg, to its build properties. This allows us to access |
-# extra attributes defined in slaves.cfg using WithProperties. |
-for slave_instance in c['slaves']: |
- for slave_dict in slaves.GetSlaves(): |
- if slave_dict['hostname'] == slave_instance.identity()[0]: |
- slave_instance.properties.update(slave_dict, 'BuildSlave') |
- break |
- |
-# Adds common status and tools to this master. |
-c['buildbotURL'] = 'http://%s:%d/' % ( |
- ActiveMaster.master_host, ActiveMaster.master_port_alt) |
-master_utils.AutoSetupMaster(c, ActiveMaster, mail_notifier=False) |
- |
-# Reduce the number of on-disk builds and logs, to save disk space. |
-c['buildHorizon'] = 400 |
-c['logHorizon'] = 200 |
- |
-# Replace the default console and waterfall pages with our overrides and add |
-# the trybot and failures waterfalls. |
-for status in c['status']: |
- if issubclass(status.__class__, WebStatus): |
- status.putChild('console', console.ConsoleStatusResource()) |
- status.putChild('console_json', |
- console.ConsoleJsonStatusResource(status=status, |
- order_by_time=True)) |
- status.putChild('waterfall', waterfall.WaterfallStatusResource()) |
- status.putChild('trybots', waterfall.TrybotStatusResource()) |
- status.putChild('failures', waterfall.FailureWaterfallStatusResource()) |
- status.putChild('buildstatus', buildstatus.BuildStatusStatusResource()) |
- |
- |
-# Add our own mail notifier (only in production mode): |
-# email the committer (and skia-commit list) only if it changed test results |
-if ActiveMaster.is_production_host: |
- mail_notifier = skia_notifier.SkiaNotifier( |
- fromaddr=ActiveMaster.from_address, |
- sendToInterestedUsers=True, |
- extraRecipients=['skia-commit@googlegroups.com'], |
- useTls=config.Master.smtp_use_tls, |
- smtpUser=config.Master.smtp_user, |
- smtpPassword=SMTP_PASSWORD, |
- mode='change', |
- smtpPort=config.Master.smtp_port, |
- relayhost=config.Master.smtp_server, |
- lookup=master_utils.FilterDomain( |
- permitted_domains=config.Master.permitted_domains)) |
- c['status'].append(mail_notifier) |
- |
- # Try job result emails. |
- c['status'].append(skia_notifier.SkiaTryMailNotifier( |
- fromaddr=ActiveMaster.from_address, |
- # Subject is overridden in skia_notifier.SkiaTryMailNotifier.buildMessage |
- subject='try %(result)s for changelist "%(reason)s" at %(timestamp)s', |
- mode='all', |
- lookup=master_utils.FilterDomain( |
- permitted_domains=config.Master.permitted_domains), |
- useTls=config.Master.smtp_use_tls, |
- smtpUser=config.Master.smtp_user, |
- smtpPassword=SMTP_PASSWORD, |
- smtpPort=config.Master.smtp_port, |
- relayhost=config.Master.smtp_server, |
- footer="""Skia Trybot documentation: <a href= |
-"https://sites.google.com/site/skiadocs/developer-documentation/skia-trybots"> |
-https://sites.google.com/site/skiadocs/developer-documentation/skia-trybots</a> |
-<br/></body></html>""")) |
- |
- c['status'].append( |
- TryServerHttpStatusPush(serverUrl=ActiveMaster.code_review_site)) |
- |
- # Add the gatekeeper |
- c['status'].append(GetSkiaGateKeeper()) |
- # Add the graphite pusher |
- c['status'].append(graphite_status_push.GraphiteStatusPush()) |
- |
- |
-c['mergeRequests'] = utils.CanMergeBuildRequests |