
URL: https://svn.lrde.epita.fr/svn/lrde-tools/trunk/buildbot/masters ChangeLog: 2007-11-08 Benoit Sigoure <tsuna@lrde.epita.fr> Add a buildfarm for Vaucanson. * vaucanson_master.cfg: New. * www/index.php: Link to the new waterfall. --- vaucanson_master.cfg | 185 +++++++++++++++++++++++++++++++++++++++++++++++++++ www/index.php | 1 2 files changed, 186 insertions(+) Index: trunk/buildbot/masters/www/index.php =================================================================== --- trunk/buildbot/masters/www/index.php (revision 445) +++ trunk/buildbot/masters/www/index.php (revision 446) @@ -10,6 +10,7 @@ <h2>BuildFarms</h2> <ul> <li><a href="oln/">Olena (trunk)</a></li> + <li><a href="vaucanson/">Vaucanson (trunk)</a></li> </ul> <h2>Latest builds</h2> <a href="/releases/"><strong>All releases</strong></a> Index: trunk/buildbot/masters/vaucanson_master.cfg =================================================================== --- trunk/buildbot/masters/vaucanson_master.cfg (revision 0) +++ trunk/buildbot/masters/vaucanson_master.cfg (revision 446) @@ -0,0 +1,185 @@ +# -*- python -*- +# ex: set syntax=python: +# vi: set ft=python: +# Doc @ http://buildbot.sourceforge.net/manual-0.7.4.html#Config-File-Format + +c = BuildmasterConfig = {} + +####### PROJECT IDENTITY +# http://buildbot.sourceforge.net/manual-0.7.4.html#Defining-the-Project + +c['projectName'] = 'Vaucanson' +c['projectURL'] = 'https://vaucanson.lrde.org/' + +# the 'buildbotURL' string should point to the location where the buildbot's +# internal web server (usually the html.Waterfall page) is visible. This +# typically uses the port number set in the Waterfall 'status' entry, but +# with an externally-visible host name which the buildbot cannot figure out +# without some help. + +c['buildbotURL'] = 'https://vaucanson.lrde.org/' + +# 'slavePortnum' defines the TCP port to listen on. This must match the value +# configured into the buildslaves (with their --master option) + +c['slavePortnum'] = 9943 + +####### CHANGESOURCES +# http://buildbot.sourceforge.net/manual-0.7.4.html#Listing-Change-Sources-and... +# http://buildbot.sourceforge.net/manual-0.7.4.html#Getting-Source-Code-Change... + +# the 'change_source' list tells the buildmaster how it should find out about +# source code changes. Any class which implements IChangeSource can be added +# to this list: there are several in buildbot/changes/*.py to choose from. + +import buildbot.changes.pb +c['change_source'] = [buildbot.changes.pb.PBChangeSource()] + +####### SCHEDULERS +# http://buildbot.sourceforge.net/manual-0.7.4.html#Listing-Change-Sources-and... + +## configure the Schedulers + +from buildbot.scheduler import AnyBranchScheduler +c['schedulers'] = [] +c['schedulers'].append(AnyBranchScheduler(name='all', branches=None, + treeStableTimer=10*60, + # When a change occurs, wait 10 minutes before + # lunching the build. + builderNames=['mingw32-gcc-3.4.5', + 'powerpc-apple-darwin8-gcc-4.0.1', + 'i686-apple-darwin8-gcc-4.0.1', + 'i486-linux-gnu-gcc-4.1', + 'i486-linux-gnu-gcc-3.3'])) + + +####### BUILDSLAVES +# http://buildbot.sourceforge.net/manual-0.7.4.html#Buildslave-Specifiers + +# the 'slaves' list defines the set of allowable buildslaves. Each element is a +# tuple of bot-name and bot-password. These correspond to values given to the +# buildslave's mktap invocation. +from buildbot.buildslave import BuildSlave +c['slaves'] = [BuildSlave('bot-winxp-mingw', '$%^@RP{7)/MZjk'), + BuildSlave('bot-macppc', '|^n3>($$W2-)^U'), + BuildSlave('bot-macx86', '!3.B6Q/3?_0n&J'), + BuildSlave('bot-linux-gcc3', 'EV5Q/[^[C%Z|>+'), + BuildSlave('bot-linux-gcc4', 'C"[f7^vXy^KX/*'), + ] + +####### BUILDERS +# http://buildbot.sourceforge.net/manual-0.7.4.html#Defining-Builders + +# the 'builders' list defines the Builders. Each one is configured with a +# dictionary, using the following keys: +# name (required): the name used to describe this bilder +# slavename (required): which slave to use, must appear in c['slaves'] +# builddir (required): which subdirectory to run the builder in +# factory (required): a BuildFactory to define how the build is run + +# buildbot/process/factory.py provides several BuildFactory classes you can +# start with, which implement build processes for common targets (GNU +# autoconf projects, CPAN perl modules, etc). The factory.BuildFactory is the +# base class, and is configured with a series of BuildSteps. When the build +# is run, the appropriate buildslave is told to execute each Step in turn. + +# the first BuildStep is typically responsible for obtaining a copy of the +# sources. There are source-obtaining Steps in buildbot/process/step.py for +# CVS, SVN, and others. + +builders = [] +from buildfactory import GNUBuildSystem + +mybranch='trunk' + +f_vaucanson_unix = GNUBuildSystem(project_repos='vaucanson', + branch=mybranch) + +f_vaucanson_unix_gcc3 = GNUBuildSystem(project_repos='vaucanson', + branch=mybranch, + extra_configure_args='CC=gcc-3.3 CXX=g++-3.3', + install_dir='vaucanson_gcc3') + +f_vaucanson_mingw = GNUBuildSystem(project_repos='vaucanson', + branch=mybranch, + extra_configure_args='--host=mingw32 --build=i686-pc-cygwin') + +builder_vaucanson_winxp_mingw = {'name': 'mingw32-gcc-3.4.5', + 'slavename': 'bot-winxp-mingw', + 'builddir': 'vaucanson_winxp_mingw', + 'factory': f_vaucanson_mingw + } +builder_vaucanson_macppc = {'name': 'powerpc-apple-darwin8-gcc-4.0.1', + 'slavename': 'bot-macppc', + 'builddir': 'vaucanson_macppc', + 'factory': f_vaucanson_unix + } +builder_vaucanson_macx86 = {'name': 'i686-apple-darwin8-gcc-4.0.1', + 'slavename': 'bot-macx86', + 'builddir': 'vaucanson_macx86', + 'factory': f_vaucanson_unix + } +builder_vaucanson_linux_gcc4 = {'name': 'i486-linux-gnu-gcc-4.1', + 'slavename': 'bot-linux-gcc4', + 'builddir': 'vaucanson_linux_gcc4', + 'factory': f_vaucanson_unix + } +builder_vaucanson_linux_gcc3 = {'name': 'i486-linux-gnu-gcc-3.3', + 'slavename': 'bot-linux-gcc3', + 'builddir': 'vaucanson_linux_gcc3', + 'factory': f_vaucanson_unix_gcc3 + } + +c['builders'] = [builder_vaucanson_winxp_mingw, + builder_vaucanson_macppc, + builder_vaucanson_macx86, + builder_vaucanson_linux_gcc3, + builder_vaucanson_linux_gcc4, + ] + +####### STATUS TARGETS +# http://buildbot.sourceforge.net/manual-0.7.4.html#Status-Delivery + +# 'status' is a list of Status Targets. The results of each build will be +# pushed to these targets. buildbot/status/*.py has a variety to choose from, +# including web pages, email senders, and IRC bots. + +c['status'] = [] + +import os +from buildbot.status import html +c['status'].append(html.WebStatus(http_port="tcp:8043:interface=0.0.0.0", + allowForce=True)) + +from buildbot.status import mail +c['status'].append(mail.MailNotifier(fromaddr="buildbot@lrde.epita.fr", + lookup="lrde.epita.fr", + mode="problem", + sendToInterestedUsers=True)) +# +# from buildbot.status import words +# c['status'].append(words.IRC(host="irc.example.com", nick="bb", +# channels=["#example"])) +# +# from buildbot.status import client +# c['status'].append(client.PBListener(9988)) + + +####### DEBUGGING OPTIONS + +# if you set 'debugPassword', then you can connect to the buildmaster with +# the diagnostic tool in contrib/debugclient.py . From this tool, you can +# manually force builds and inject changes, which may be useful for testing +# your buildmaster without actually commiting changes to your repository (or +# before you have a functioning 'change_source' set up). The debug tool uses the +# same port number as the slaves do: 'slavePortnum'. + +#c['debugPassword'] = "debugpassword" + +# if you set 'manhole', you can ssh into the buildmaster and get an +# interactive python shell, which may be useful for debugging buildbot +# internals. It is probably only useful for buildbot developers. You can also +# use an authorized_keys file, or plain telnet. +#from buildbot import manhole +#c['manhole'] = manhole.PasswordManhole("tcp:9999:interface=127.0.0.1", +# "admin", "password") -- SIGOURE Benoit aka Tsuna (SUSv3 compliant) _____ "I think Git is definitely in the running /EPITA\ Promo 2008.CSI/ACU/YAKA to be the dominate version control system." -- Bob Proulx
participants (1)
-
The LRDE Buildbot