mozilla2-staging/master1.cfg
author Rail Aliev
Wed, 09 Jun 2010 13:22:37 -0400
changeset 2491 67c9895ff8c5204907cfbfab63437df99e8cb8ac
parent 2052 ae8422cc16978853cfe7f78d65fcd3918f083325
permissions -rw-r--r--
bug 559057: do a release staging run for Linux 64 with updates, unit tests and talos. r=bhearsum,nthomas

import config
reload(config)
from config import SLAVES, MAC_MINIS, XSERVES, MAC_SNOW_MINIS

import buildbotcustom.misc
reload(buildbotcustom.misc)
from buildbotcustom.misc import generateBranchObjects

ACTIVE_BRANCHES = ['mozilla-central', 'mozilla-1.9.2', 'places']
L10N_SLAVES = {
    'linux': SLAVES['linux'],
    'linux64': SLAVES['linux64'],
    'win32': SLAVES['win32'],
    'macosx': MAC_MINIS + XSERVES,
    'macosx64': MAC_SNOW_MINIS,
}

execfile("master-main.cfg")

c['slavePortnum'] = 9010

from buildbot.status.html import WebStatus
c['status'].append(WebStatus(
    http_port=8010,
    allowForce=True
))
c['buildbotURL'] = 'http://staging-master.build.mozilla.org:8010/'

for branch in ACTIVE_BRANCHES:
    branchObjects = generateBranchObjects(BRANCHES[branch], branch)
    c['builders'].extend(branchObjects['builders'])
    c['schedulers'].extend(branchObjects['schedulers'])
    c['change_source'].extend(branchObjects['change_source'])
    c['status'].extend(branchObjects['status'])

import buildbotcustom.log
import buildbotcustom.l10n
reload(buildbotcustom.log)
reload(buildbotcustom.l10n)
from buildbotcustom.l10n import Scheduler as SchedulerL10n

buildbotcustom.log.init(
    scheduler = buildbotcustom.log.DEBUG,
    dispatcher = buildbotcustom.log.DEBUG
)

s = SchedulerL10n("l10n", "l10nbuilds1.ini")
c['schedulers'].append(s)

####### Release Automation

import release_master
reload(release_master)

c['builders'].extend(release_master.builders)
c['schedulers'].extend(release_master.schedulers)
c['change_source'].extend(release_master.change_source)
c['status'].extend(release_master.status)


import release_mobile_master
reload(release_mobile_master)

c['builders'].extend(release_mobile_master.builders)
c['schedulers'].extend(release_mobile_master.schedulers)
c['change_source'].extend(release_mobile_master.change_source)
c['status'].extend(release_mobile_master.status)

# Give the release builders priority over other builders
def prioritizeBuilders(botmaster, builders):
    def sortkey(builder):
        if builder.builder_status.category == 'release':
            return 0, builder.getOldestRequestTime()
        else:
            return 1, builder.getOldestRequestTime()
    builders.sort(key=sortkey)
    return builders
c['prioritizeBuilders'] = prioritizeBuilders