annotate autobot/template/master/master.cfg @ 86:2616a5f49bd3

switch to .ini files for configuration
author Jeff Hammel <jhammel@mozilla.com>
date Wed, 12 Jan 2011 11:29:00 -0800
parents 86e65422f31a
children 9b0ebf306b3c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 # -*- python -*-
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2 # ex: set syntax=python:
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3 c = BuildmasterConfig = {}
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
4
86
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
5 ####### AUTOBOT CONFIG
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
6 import os
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
7 from autobot.config import BuildbotIniConfig
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
8 config = BuildbotIniConfig(os.path.join(basedir, 'master.ini'))
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
9
0
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
10 ####### BUILDSLAVES
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
11 from buildbot.buildslave import BuildSlave
86
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
12 c['slaves'] = [BuildSlave(slave, config.slaves[slave]['password'])
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
13 for slave in config.slaves]
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
14 c['slavePortnum'] = config.master['slaveport']
0
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
15
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
16 ####### CHANGESOURCES
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
17 from buildbot.changes.pb import PBChangeSource
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
18 c['change_source'] = PBChangeSource()
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
19
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
20 ####### BUILDERS
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
21
66
cbcb96142ed6 stubs towards specifying multiple factories
Jeff Hammel <jhammel@mozilla.com>
parents: 38
diff changeset
22 # define builder factories
cbcb96142ed6 stubs towards specifying multiple factories
Jeff Hammel <jhammel@mozilla.com>
parents: 38
diff changeset
23 from autobot.projects import factories as factory_dict
cbcb96142ed6 stubs towards specifying multiple factories
Jeff Hammel <jhammel@mozilla.com>
parents: 38
diff changeset
24 builders = []
0
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
25
86
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
26 for slave in config.slaves:
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
27 for factory in config.slaves[slave]['factories']:
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
28 f = factory_dict[factory](**config.args.get(factory, {}))
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
29
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
30 # define builder
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
31 buildername = '%s - %s' % (factory, slave)
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
32 b = {'name': buildername,
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
33 'slavename': slave,
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
34 'builddir': "full",
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
35 'factory': f,
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
36 }
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
37 builders.append(b)
66
cbcb96142ed6 stubs towards specifying multiple factories
Jeff Hammel <jhammel@mozilla.com>
parents: 38
diff changeset
38
cbcb96142ed6 stubs towards specifying multiple factories
Jeff Hammel <jhammel@mozilla.com>
parents: 38
diff changeset
39 c['builders'] = builders
0
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
40
74
d94fbaac7c2c stub out being able to find scripts cross-platform in a virtualenv
Jeff Hammel <jhammel@mozilla.com>
parents: 72
diff changeset
41 ####### SCHEDULERS
d94fbaac7c2c stub out being able to find scripts cross-platform in a virtualenv
Jeff Hammel <jhammel@mozilla.com>
parents: 72
diff changeset
42 from buildbot.scheduler import Scheduler
86
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
43 buildernames = [i['name'] for i in builders]
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
44 c['schedulers'] = []
74
d94fbaac7c2c stub out being able to find scripts cross-platform in a virtualenv
Jeff Hammel <jhammel@mozilla.com>
parents: 72
diff changeset
45 c['schedulers'].append(Scheduler(name="all", branch=None,
d94fbaac7c2c stub out being able to find scripts cross-platform in a virtualenv
Jeff Hammel <jhammel@mozilla.com>
parents: 72
diff changeset
46 treeStableTimer=1,
86
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
47 builderNames=buildernames))
74
d94fbaac7c2c stub out being able to find scripts cross-platform in a virtualenv
Jeff Hammel <jhammel@mozilla.com>
parents: 72
diff changeset
48
0
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
49 ####### STATUS TARGETS
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
50 c['status'] = []
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
51 from buildbot.status import html
34
206467b6f61f * cleanup a bit in projects and start featuring autodiscovery
Jeff Hammel <jhammel@mozilla.com>
parents: 14
diff changeset
52 from buildbot.status.web.authz import Authz
206467b6f61f * cleanup a bit in projects and start featuring autodiscovery
Jeff Hammel <jhammel@mozilla.com>
parents: 14
diff changeset
53 authz = Authz(forceBuild=True, stopBuild=True)
86
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
54 c['status'].append(html.WebStatus(http_port=config.master['htmlport'],
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
55 authz=authz))
0
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
56
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
57 ####### PROJECT IDENTITY
84
86e65422f31a have some sort of working configuration parser....lets roll with it
Jeff Hammel <jhammel@mozilla.com>
parents: 74
diff changeset
58 c['projectName'] = "autobot"
0
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
59 c['projectURL'] = "http://buildbot.sourceforge.net/"
86
2616a5f49bd3 switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents: 84
diff changeset
60 c['buildbotURL'] = "http://localhost:%d/" % config.master['htmlport']