talos-r3/master-common.cfg
author Chris AtLee <catlee@mozilla.com>
Wed, 01 Sep 2010 10:45:05 -0400
changeset 2924 c85fd04505e068d82df3b2213b9c0f9538bc12b4
parent 2704 d60b702f815116db7888e9aef1076fa106015642
child 6326 7ec525209823d918c2df8374c04a239db761bacf
permissions -rw-r--r--
Change setup-master.py so it uses master names instead of numbers

# Shorthand
c = BuildmasterConfig = {}

c['debugPassword'] = "mozilla"
c['projectName'] = "Talos"
c['projectURL'] = "http://wiki.mozilla.org/ReleaseEngineering"

# Keep 100 changes
c['changeHorizon'] = 100

# Cap the log size at 50 MB
c['logMaxSize'] = 50 * 1024 * 1024

c['status'] = []

from buildbot.status.mail import MailNotifier

c['status'].append(MailNotifier(
                       fromaddr="talos.buildbot@build.mozilla.org",
                       sendToInterestedUsers=False,
                       extraRecipients=["joduinn@mozilla.com"],
                       mode="failing",
                       builders=None, # send for all builders
                       relayhost="smtp.mozilla.org"))

# Slaves
import BuildSlaves
reload(BuildSlaves)
from BuildSlaves import SlavePasswords

from buildbot.buildslave import BuildSlave

c['slaves'] = []
for platform, names in SLAVES.items():
    c['slaves'].extend(BuildSlave(name, SlavePasswords[platform], max_builds=1) for name in names)

from buildbot.changes.pb import PBChangeSource
c['change_source'] = [PBChangeSource()]

c['schedulers'] = []
c['builders'] = []

# Give the release builders highest priority, then all branches priority over try
def prioritizeBuilders(botmaster, builders):
    def sortkey(builder):
        if builder.builder_status.category.endswith('-release'):
            return 0, builder.getOldestRequestTime()
        elif builder.builder_status.category == 'tryserver':
            return 2, builder.getOldestRequestTime()
        else:
            return 1, builder.getOldestRequestTime()
    builders.sort(key=sortkey)
    return builders
c['prioritizeBuilders'] = prioritizeBuilders