Mercurial > hg > autobot
annotate autobot/template/master/master.cfg @ 140:56b14dd2e3da
correct syntax
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Mon, 24 Jan 2011 12:53:15 -0800 |
parents | 336702f58075 |
children | 19719b24957e |
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 |
134
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
16 ####### BUILDERS |
0
8e14b6322cc7
initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
17 |
136
336702f58075
completely change how sources are stored....hopefully it will break things
Jeff Hammel <jhammel@mozilla.com>
parents:
135
diff
changeset
|
18 # change sources |
134
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
19 sources = {'git': set(), |
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
20 'hg': set()} |
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
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, |
89
9b0ebf306b3c
autobot/template/master/master.cfg
Jeff Hammel <jhammel@mozilla.com>
parents:
86
diff
changeset
|
34 'builddir': factory, |
86
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) |
134
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
38 |
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
39 # get change sources |
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
40 # XXX this should be moved to real code, not pseudo-config |
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
41 if not hasattr(f, 'sources'): |
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
42 continue |
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
43 for source_type in sources: |
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
44 _sources = getattr(_sources).get(source_type, []) |
140 | 45 for source, branch in _sources: |
134
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
46 sources[source_type].add((source, branch)) |
66
cbcb96142ed6
stubs towards specifying multiple factories
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
47 |
cbcb96142ed6
stubs towards specifying multiple factories
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
48 c['builders'] = builders |
0
8e14b6322cc7
initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
49 |
134
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
50 ####### CHANGESOURCES |
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
51 from buildbot.changes.pb import PBChangeSource |
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
52 c['change_source'] = [PBChangeSource()] |
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
53 |
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
54 from buildbot.changes.gitpoller import GitPoller |
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
55 from autobot.changes.poller import HgPoller |
a67fb62c04a6
start adding sources to the master.mfg
Jeff Hammel <jhammel@mozilla.com>
parents:
99
diff
changeset
|
56 |
135
7ab38166e65e
add at least hg sources into the master.cfg (template)
Jeff Hammel <jhammel@mozilla.com>
parents:
134
diff
changeset
|
57 for source in sources['git']: |
7ab38166e65e
add at least hg sources into the master.cfg (template)
Jeff Hammel <jhammel@mozilla.com>
parents:
134
diff
changeset
|
58 pass |
7ab38166e65e
add at least hg sources into the master.cfg (template)
Jeff Hammel <jhammel@mozilla.com>
parents:
134
diff
changeset
|
59 |
7ab38166e65e
add at least hg sources into the master.cfg (template)
Jeff Hammel <jhammel@mozilla.com>
parents:
134
diff
changeset
|
60 for repourl, branch in sources['hg']: |
7ab38166e65e
add at least hg sources into the master.cfg (template)
Jeff Hammel <jhammel@mozilla.com>
parents:
134
diff
changeset
|
61 c['change_source'].append(HgPoller( |
7ab38166e65e
add at least hg sources into the master.cfg (template)
Jeff Hammel <jhammel@mozilla.com>
parents:
134
diff
changeset
|
62 repourl=repourl, |
7ab38166e65e
add at least hg sources into the master.cfg (template)
Jeff Hammel <jhammel@mozilla.com>
parents:
134
diff
changeset
|
63 pollInterval=30, # should be configurable |
7ab38166e65e
add at least hg sources into the master.cfg (template)
Jeff Hammel <jhammel@mozilla.com>
parents:
134
diff
changeset
|
64 branch=branch)) |
7ab38166e65e
add at least hg sources into the master.cfg (template)
Jeff Hammel <jhammel@mozilla.com>
parents:
134
diff
changeset
|
65 |
7ab38166e65e
add at least hg sources into the master.cfg (template)
Jeff Hammel <jhammel@mozilla.com>
parents:
134
diff
changeset
|
66 |
74
d94fbaac7c2c
stub out being able to find scripts cross-platform in a virtualenv
Jeff Hammel <jhammel@mozilla.com>
parents:
72
diff
changeset
|
67 ####### SCHEDULERS |
d94fbaac7c2c
stub out being able to find scripts cross-platform in a virtualenv
Jeff Hammel <jhammel@mozilla.com>
parents:
72
diff
changeset
|
68 from buildbot.scheduler import Scheduler |
86
2616a5f49bd3
switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents:
84
diff
changeset
|
69 buildernames = [i['name'] for i in builders] |
2616a5f49bd3
switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents:
84
diff
changeset
|
70 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
|
71 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
|
72 treeStableTimer=1, |
86
2616a5f49bd3
switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents:
84
diff
changeset
|
73 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
|
74 |
0
8e14b6322cc7
initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
75 ####### STATUS TARGETS |
8e14b6322cc7
initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
76 c['status'] = [] |
8e14b6322cc7
initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
77 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
|
78 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
|
79 authz = Authz(forceBuild=True, stopBuild=True) |
86
2616a5f49bd3
switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents:
84
diff
changeset
|
80 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
|
81 authz=authz)) |
0
8e14b6322cc7
initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
82 |
8e14b6322cc7
initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
83 ####### PROJECT IDENTITY |
84
86e65422f31a
have some sort of working configuration parser....lets roll with it
Jeff Hammel <jhammel@mozilla.com>
parents:
74
diff
changeset
|
84 c['projectName'] = "autobot" |
0
8e14b6322cc7
initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
85 c['projectURL'] = "http://buildbot.sourceforge.net/" |
86
2616a5f49bd3
switch to .ini files for configuration
Jeff Hammel <jhammel@mozilla.com>
parents:
84
diff
changeset
|
86 c['buildbotURL'] = "http://localhost:%d/" % config.master['htmlport'] |