Merge lp:~sidnei/bzr-buildbot-net/kerguelen-windows-installer into lp:bzr-buildbot-net

Proposed by Sidnei da Silva
Status: Merged
Merged at revision: not available
Proposed branch: lp:~sidnei/bzr-buildbot-net/kerguelen-windows-installer
Merge into: lp:bzr-buildbot-net
Diff against target: None lines
To merge this branch: bzr merge lp:~sidnei/bzr-buildbot-net/kerguelen-windows-installer
Reviewer Review Type Date Requested Status
Vincent Ladeuil Approve
Review via email: mp+9699@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Sidnei da Silva (sidnei) wrote :

Adds the configuration needed to build the installers on kerguelen. A follow branch will include the slave config for kerguelen.

Revision history for this message
Vincent Ladeuil (vila) wrote :

> Adds the configuration needed to build the installers on kerguelen.

Good to go :-) This is already running on the master.

> A follow
> branch will include the slave config for kerguelen.

Great !

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'master/master.cfg'
2--- master/master.cfg 2009-08-04 16:38:28 +0000
3+++ master/master.cfg 2009-08-05 15:07:09 +0000
4@@ -14,16 +14,6 @@
5 # a shorter alias to save typing.
6 c = BuildmasterConfig = {}
7
8-# We stay simple: builders are named like their associated slave
9-bzr_builder_names = [
10- # Ubuntu
11- 'hardy',
12- 'jaunty',
13- # OSX
14- 'tiger',
15- 'leopard',
16- ]
17-
18 ####### BUILDSLAVES
19
20 # the 'slaves' list defines the set of allowable buildslaves. Each element is
21@@ -35,6 +25,7 @@
22 BuildSlave('jaunty', 'jackalope'),
23 BuildSlave('tiger', 'tiger'),
24 BuildSlave('leopard', 'leopard'),
25+ BuildSlave('win2k3-x64', 'win2k3-x64'),
26 ]
27
28 # to limit to two concurrent builds on a slave, use
29@@ -76,21 +67,6 @@
30 #c['change_source'] = PBChangeSource()
31
32
33-####### SCHEDULERS
34-
35-## configure the Schedulers
36-
37-from buildbot import scheduler
38-default_scheduler = scheduler.Scheduler(name="all", branch=None,
39- treeStableTimer=2*60,
40- builderNames=bzr_builder_names)
41-daily_scheduler = scheduler.Periodic(name='daily',
42- builderNames=bzr_builder_names,
43- periodicBuildTimer=24*60*60)
44-
45-c['schedulers'] = [daily_scheduler]
46-
47-
48 ####### BUILDERS
49
50 # the 'builders' list defines the Builders. Each one is configured with a
51@@ -150,13 +126,13 @@
52 shell.ShellCommand.__init__(self, *args, **kwargs)
53
54
55-bzr_base_URL = 'http://bazaar.launchpad.net/~bzr/bzr/trunk/'
56+bzr_base_URL = "http://bazaar.launchpad.net/"
57
58 bzr_factory = factory.BuildFactory()
59
60 #bzr_factory.addStep(source.Bzr(baseURL=bzr_base_URL, defaultBranch='bzr.dev/'))
61 bzr_factory.addStep(source.Bzr(
62- repourl='http://bazaar.launchpad.net/~bzr/bzr/trunk/'))
63+ repourl=bzr_base_URL + "~bzr/bzr/trunk/"))
64 bzr_factory.addStep(BzrMake())
65 bzr_factory.addStep(BzrSelftest())
66
67@@ -176,8 +152,71 @@
68 builddir='leopard-build',
69 factory=bzr_factory,
70 )
71+
72 c['builders'] = [hardy, jaunty, tiger, leopard]
73
74+# Factories for the Bazaar Installers for Windows.
75+#
76+# We'll build a binary for each combination of the plugins and bzr
77+# itself, such that people can test say bzr.dev with the current
78+# release of the plugins, or the other way around.
79+
80+# A source lock should be used, such that we can use a shared-repo for
81+# the parent directory of the build. Concurrent writes to the
82+# shared-repo are not supported, so this is needed.
83+from buildbot.locks import SlaveLock
84+# from buildbot.steps.transfer import DirectoryUpload
85+source_lock = SlaveLock("source")
86+
87+installer_factories = {}
88+for bzr_target in ("release", "dev"):
89+ for plugin_target in ("plugin-release", "plugin-dev"):
90+ f = factory.BuildFactory()
91+ name = "bzr-installer-%s-%s" % (bzr_target, plugin_target)
92+ steps = [
93+ source.Bzr(
94+ repourl=bzr_base_URL + "~jameinel/bzr/1.18-win32-buildbot/",
95+ mode="update", alwaysUseLatest=True,
96+ timeout=3600, locks=[source_lock]),
97+ shell.Compile(
98+ command=["make", "installer-all",
99+ r"BZR_TARGET=%s" % bzr_target,
100+ r"PLUGIN_TARGET=%s" % plugin_target,
101+ r"PYTHON=c:/Python25/python.exe",
102+ r"PYTHON24=c:/Python24/python.exe",
103+ r"PYTHON25=c:/Python25/python.exe",
104+ r"PYTHON26=c:/Python26/python.exe"],
105+ haltOnFailure=True),
106+# DirectoryUpload(slavesrc="tools/win32/installers",
107+# masterdest="~/master/public_html/installers/%s" % name,
108+# maxsize=None),
109+ ]
110+ for s in steps:
111+ f.addStep(s)
112+ installer_factories[name] = f
113+
114+for name, factory in sorted(installer_factories.iteritems()):
115+ c["builders"].append(
116+ {"name": name,
117+ "slavename": "win2k3-x64",
118+ "builddir": name,
119+ "factory": factory,
120+ })
121+
122+####### SCHEDULERS
123+
124+## configure the Schedulers
125+
126+from buildbot import scheduler
127+default_scheduler = scheduler.Scheduler(name="all", branch=None,
128+ treeStableTimer=2*60,
129+ builderNames=[b["name"] for b in c["builders"]])
130+daily_scheduler = scheduler.Periodic(name='daily',
131+ builderNames=[b["name"] for b in c["builders"]],
132+ periodicBuildTimer=24*60*60)
133+
134+c['schedulers'] = [daily_scheduler]
135+
136
137 ####### STATUS TARGETS
138

Subscribers

People subscribed via source and target branches