[Avida-SVN] r1346 - in extras: . buildbot buildbot/myxo buildbot/myxo/master
kaben at myxo.css.msu.edu
kaben at myxo.css.msu.edu
Tue Feb 20 09:17:34 PST 2007
Author: kaben
Date: 2007-02-20 12:17:33 -0500 (Tue, 20 Feb 2007)
New Revision: 1346
Added:
extras/buildbot/myxo/
extras/buildbot/myxo/master/
extras/buildbot/myxo/master/AvidaExtensions.py
extras/buildbot/myxo/master/Makefile
extras/buildbot/myxo/master/Makefile.sample
extras/buildbot/myxo/master/buildbot.tac
extras/buildbot/myxo/master/master.cfg
Modified:
extras/
Log:
r1477 at stochastic: kaben | 2007-02-20 12:17:39 -0500
Added buildbot config for myxo master.
Property changes on: extras
___________________________________________________________________
Name: svk:merge
- 079b078a-dbed-46b9-b3da-37668d4295ca:/avida/local/extras:1457
+ 079b078a-dbed-46b9-b3da-37668d4295ca:/avida/local/extras:1477
Added: extras/buildbot/myxo/master/AvidaExtensions.py
===================================================================
--- extras/buildbot/myxo/master/AvidaExtensions.py 2007-02-20 16:20:55 UTC (rev 1345)
+++ extras/buildbot/myxo/master/AvidaExtensions.py 2007-02-20 17:17:33 UTC (rev 1346)
@@ -0,0 +1,51 @@
+from buildbot import interfaces
+from buildbot.twcompat import implements
+from buildbot.scheduler import AnyBranchScheduler
+from twisted.python import log
+
+class AvidaEmailLookup:
+ if implements:
+ implements(interfaces.IEmailLookup)
+ else:
+ __implements__ = (interfaces.IEmailLookup)
+ compare_attrs = ["email_dict"]
+
+ def __init__(self, email_dict = None):
+ print "AvidaEmailLookup.__init__(%s)"%str(email_dict)
+ self.email_dict = email_dict
+
+ def getAddress(self, name):
+ print "AvidaEmailLookup.getAddress(%s)"%name
+ if self.email_dict is not None and self.email_dict.has_key(name):
+ print "...found name, corresponds to email : %s"%self.email_dict[name]
+ return self.email_dict[name]
+ else:
+ print "...found no name."
+ return None
+
+
+class SVNDirsChangedScheduler(AnyBranchScheduler):
+ def addChange(self, change):
+ branch = change.branch
+ if branch is not None and self.branches is not None:
+ for b in self.branches:
+ if str(branch).startswith(str(b)):
+ change.branch = b
+ s = self.schedulers.get(b)
+ if not s:
+ if b:
+ name = self.name + "." + b
+ else:
+ name = self.name + ".<default>"
+ s = self.schedulerFactory(name, b,
+ self.treeStableTimer,
+ self.builderNames,
+ self.fileIsImportant)
+ s.successWatchers = self.successWatchers
+ s.setServiceParent(self)
+ # TODO: does this result in schedulers that stack up forever?
+ # When I make the persistify-pass, think about this some more.
+ self.schedulers[b] = s
+ s.addChange(change)
+ return
+ log.msg("%s ignoring off-branch %s" % (self, change.branch))
Added: extras/buildbot/myxo/master/Makefile
===================================================================
--- extras/buildbot/myxo/master/Makefile 2007-02-20 16:20:55 UTC (rev 1345)
+++ extras/buildbot/myxo/master/Makefile 2007-02-20 17:17:33 UTC (rev 1346)
@@ -0,0 +1,19 @@
+# -*- makefile -*-
+
+# This is a simple makefile which lives in a buildmaster/buildslave
+# directory (next to the buildbot.tac file). It allows you to start/stop the
+# master or slave by doing 'make start' or 'make stop'.
+
+# The 'reconfig' target will tell a buildmaster to reload its config file.
+
+start:
+ twistd --no_save -y buildbot.tac
+
+stop:
+ kill `cat twistd.pid`
+
+reconfig:
+ kill -HUP `cat twistd.pid`
+
+log:
+ tail -f twistd.log
Added: extras/buildbot/myxo/master/Makefile.sample
===================================================================
--- extras/buildbot/myxo/master/Makefile.sample 2007-02-20 16:20:55 UTC (rev 1345)
+++ extras/buildbot/myxo/master/Makefile.sample 2007-02-20 17:17:33 UTC (rev 1346)
@@ -0,0 +1,19 @@
+# -*- makefile -*-
+
+# This is a simple makefile which lives in a buildmaster/buildslave
+# directory (next to the buildbot.tac file). It allows you to start/stop the
+# master or slave by doing 'make start' or 'make stop'.
+
+# The 'reconfig' target will tell a buildmaster to reload its config file.
+
+start:
+ twistd --no_save -y buildbot.tac
+
+stop:
+ kill `cat twistd.pid`
+
+reconfig:
+ kill -HUP `cat twistd.pid`
+
+log:
+ tail -f twistd.log
Added: extras/buildbot/myxo/master/buildbot.tac
===================================================================
--- extras/buildbot/myxo/master/buildbot.tac 2007-02-20 16:20:55 UTC (rev 1345)
+++ extras/buildbot/myxo/master/buildbot.tac 2007-02-20 17:17:33 UTC (rev 1346)
@@ -0,0 +1,10 @@
+
+from twisted.application import service
+from buildbot.master import BuildMaster
+
+basedir = r'/home/crashdummy/Projects/BuildBot/BuildMaster'
+configfile = r'master.cfg'
+
+application = service.Application('buildmaster')
+BuildMaster(basedir, configfile).setServiceParent(application)
+
Added: extras/buildbot/myxo/master/master.cfg
===================================================================
--- extras/buildbot/myxo/master/master.cfg 2007-02-20 16:20:55 UTC (rev 1345)
+++ extras/buildbot/myxo/master/master.cfg 2007-02-20 17:17:33 UTC (rev 1346)
@@ -0,0 +1,613 @@
+# -*- python -*-
+
+# This is a sample buildmaster config file. It must be installed as
+# 'master.cfg' in your buildmaster's base directory (although the filename
+# can be changed with the --basedir option to 'mktap buildbot master').
+
+# It has one job: define a dictionary named BuildmasterConfig. This
+# dictionary has a variety of keys to control different aspects of the
+# buildmaster. They are documented in docs/config.xhtml .
+
+import os.path
+#from buildbot.changes.freshcvs import FreshCVSSource
+from buildbot.changes.pb import PBChangeSource
+from buildbot.scheduler import Scheduler, Nightly, Periodic, AnyBranchScheduler
+from buildbot.process import step, factory
+from buildbot.status import html, mail
+from AvidaExtensions import AvidaEmailLookup, SVNDirsChangedScheduler
+
+
+s = factory.s
+
+# This is the dictionary that the buildmaster pays attention to. We also use
+# a shorter alias to save typing.
+c = BuildmasterConfig = {}
+
+# the 'bots' 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.
+c['bots'] = [
+ #("avida_myxo_trunk_slavebot", "passwd_avida"),
+ #("avida_rodan_bb_hacking_slavebot", "passwd_avida"),
+ ("rodan_slavebot", "passwd_avida"),
+ #("avida_rodan_development_slavebot", "passwd_avida"),
+ ("ribosome_slavebot", "passwd_avida"),
+ #("deathbox", "passwd_avida"),
+ #("avida_rodan_jeffdef_slavebot", "passwd_avida"),
+ #("avida_devolab_avida_ed_slavebot", "passwd_avida"),
+ ]
+
+
+# the 'sources' 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.
+
+c['sources'] = []
+
+# For example, if you had CVSToys installed on your repository, and your
+# CVSROOT/freshcfg file had an entry like this:
+#pb = ConfigurationSet([
+# (None, None, None, PBService(userpass=('foo', 'bar'), port=4519)),
+# ])
+
+# then you could use the following buildmaster Change Source to subscribe to
+# the FreshCVS daemon and be notified on every commit:
+#
+#fc_source = FreshCVSSource("cvs.example.com", 4519, "foo", "bar")
+#c['sources'].append(fc_source)
+
+# or, use a PBChangeSource, and then have your repository's commit script run
+# 'buildbot sendchange', or contrib/svn_buildbot.py, or
+# contrib/arch_buildbot.py :
+#
+c['sources'].append(PBChangeSource())
+
+
+## configure the Schedulers
+
+#c['schedulers'] = []
+#c['schedulers'].append(Scheduler(name="all", branch=None,
+# treeStableTimer=2*60,
+# builderNames=["buildbot-full"]))
+
+avida_trunk_monitor = SVNDirsChangedScheduler(
+ name="avida_trunk_monitor",
+ branches=[
+ "trunk",
+ ],
+ treeStableTimer=30*60,
+ builderNames=[
+ "rodan_trunk",
+ "ribosome_trunk",
+ ],
+)
+
+avida_development_ut_monitor = SVNDirsChangedScheduler(
+ name="avida_development_ut_monitor",
+ branches=[
+ "development",
+ ],
+ treeStableTimer=30,
+ builderNames=[
+ "rodan_development_ut",
+ "ribosome_development_ut",
+ ],
+)
+
+avida_development_ct_monitor = SVNDirsChangedScheduler(
+ name="avida_development_ct_monitor",
+ branches=[
+ "development",
+ ],
+ #treeStableTimer=30*60,
+ treeStableTimer=3*60,
+ builderNames=[
+ "rodan_development_ct",
+ "ribosome_development_ct",
+ ],
+)
+
+avida_jeffdev_monitor = SVNDirsChangedScheduler(
+ name="avida_jeffdev_monitor",
+ branches=[
+ "branches/jeffdev",
+ ],
+ treeStableTimer=30*60,
+ builderNames=[
+ "rodan_jeffdev",
+ ],
+)
+
+avida_coopcomm_monitor = SVNDirsChangedScheduler(
+ name="avida_coopcomm_monitor",
+ branches=[
+ "branches/coopcomm",
+ ],
+ treeStableTimer=30*60,
+ builderNames=[
+ "ribosome_coopcomm",
+ "rodan_coopcomm",
+ ],
+)
+
+#avida_avidaedward_monitor = SVNDirsChangedScheduler(
+# name="avida_avidaedward_monitor",
+# branches=[
+# "branches/developers/avida-edward",
+# ],
+# treeStableTimer=30*60,
+# builderNames=[
+# "devolab_avida_ed",
+# ],
+#)
+
+periodic = Periodic(
+ "avida_daily_tests",
+ [
+ #"avida_myxo_trunk",
+ "rodan_trunk",
+ #"rodan_development_ut",
+ "rodan_development_ct",
+ "rodan_jeffdev",
+ "rodan_coopcomm",
+ #"deathbox_development_bt",
+ "ribosome_trunk",
+ #"ribosome_development_ut",
+ "ribosome_development_ct",
+ "ribosome_coopcomm",
+ ],
+ 24*60*60
+)
+
+nightly = Nightly(
+ "avida_3am_nightly_tests",
+ [
+ #"avida_myxo_trunk",
+ "rodan_trunk",
+ #"rodan_development_ut",
+ "rodan_development_ct",
+ "rodan_jeffdev",
+ "rodan_coopcomm",
+ #"deathbox_development_bt",
+ "ribosome_trunk",
+ #"ribosome_development_ut",
+ "ribosome_development_ct",
+ "ribosome_coopcomm",
+ ],
+ hour=3, minute=0
+)
+
+c['schedulers'] = [
+ #periodic,
+ nightly,
+ avida_trunk_monitor,
+ avida_development_ct_monitor,
+ #avida_development_ut_monitor,
+ avida_jeffdev_monitor,
+ avida_coopcomm_monitor,
+ #avida_avidaedward_monitor,
+]
+
+
+
+# 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['bots']
+# builddir (required): which subdirectory to run the builder in
+# factory (required): a BuildFactory to define how the build is run
+# periodicBuildTime (optional): if set, force a build every N seconds
+
+# 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.
+
+#cvsroot = ":pserver:anonymous at cvs.sourceforge.net:/cvsroot/buildbot"
+#cvsmodule = "buildbot"
+#
+#builders = []
+#
+#source = s(step.CVS, cvsroot=cvsroot, cvsmodule=cvsmodule, login="",
+# mode="copy")
+#f1 = factory.Trial(source, tests="buildbot.test",
+# # enable this if you've installed buildbot-test-vc-1.tar.gz
+# #env={'BUILDBOT_TEST_VC': "~/incoming"},
+# )
+#b1 = {'name': "buildbot-full",
+# 'slavename': "bot1name",
+# 'builddir': "full",
+# 'factory': f1,
+# }
+#c['builders'] = [b1]
+
+
+## Source steps
+
+avida_trunk_source_step = s(
+ step.SVN,
+ mode='update',
+ baseURL='svn://myxo.css.msu.edu/avida/',
+ defaultBranch='trunk'
+ )
+
+avida_jeffdev_source_step = s(
+ step.SVN,
+ mode='update',
+ baseURL='svn://myxo.css.msu.edu/avida/',
+ defaultBranch='branches/jeffdev'
+ )
+
+avida_coopcomm_source_step = s(
+ step.SVN,
+ mode='update',
+ baseURL='svn://myxo.css.msu.edu/avida/',
+ defaultBranch='branches/coopcomm'
+ )
+
+avida_development_source_step = s(
+ step.SVN,
+ mode='update',
+ baseURL='svn://myxo.css.msu.edu/avida/',
+ defaultBranch='development'
+ )
+
+
+## Build steps
+
+avida_build_step= s(
+ step.ShellCommand,
+ description=["building"],
+ descriptionDone=["build"],
+ haltOnFailure=True,
+ command='./build_avida -DAVD_CONSISTENCY_TEST_PRIMITIVE:BOOL=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DEXECUTABLE_OUTPUT_PATH:PATH="$PWD"/cbuild/bin -DLIBRARY_OUTPUT_PATH:PATH="$PWD"/cbuild/lib -DCMAKE_INSTALL_PREFIX:PATH="$PWD"/cbuild'
+ )
+
+avida_development_build_step= s(
+ step.ShellCommand,
+ description=["building"],
+ descriptionDone=["build"],
+ haltOnFailure=True,
+ command='mv cbuild/CMakeCache.txt cbuild/CMakeCache.txt.`date +%m%d.%H%M%S`; ./build_avida -DAVD_UNIT_TESTS:BOOL=ON -DAVD_SERIALIZATION:BOOL=ON -DAVD_CONSISTENCY_TEST_PRIMITIVE:BOOL=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DEXECUTABLE_OUTPUT_PATH:PATH="$PWD"/cbuild/bin -DLIBRARY_OUTPUT_PATH:PATH="$PWD"/cbuild/lib -DCMAKE_INSTALL_PREFIX:PATH="$PWD"/cbuild'
+ )
+
+#avida_development_scons_win32_build_step= s(
+# step.ShellCommand,
+# description=["building"],
+# descriptionDone=["build"],
+# haltOnFailure=True,
+# #command='\Python24\python.exe .\BuildAvida.py',
+# command=".\BuildAvida.py",
+# )
+
+
+#avida_ed_bootstrap_step= s(
+# step.ShellCommand,
+# description=["bootstrapping"],
+# descriptionDone=["boostrap"],
+# flunkOnWarnings=True,
+# command="curl --remote-name http://myxo.css.msu.edu:7632/one-step-scripts/Avida-ED-osx/Scripts/Avida-ED-bootstrap.bash; chmod a+x Avida-ED-bootstrap.bash; ./Avida-ED-bootstrap.bash",
+# )
+
+#avida_ed_build_step= s(
+# step.ShellCommand,
+# description=["one-step-build"],
+# descriptionDone=["one-step-build"],
+# flunkOnWarnings=True,
+# command="curl --remote-name http://myxo.css.msu.edu:7632/one-step-scripts/Avida-ED-osx/Scripts/Avida-ED-build.bash; chmod a+x Avida-ED-build.bash; ./Avida-ED-build.bash",
+# )
+
+## Test steps
+
+#avida_development_scons_win32_default_cpu_consistency_tests_step= s(
+# step.ShellCommand,
+# description=["running consistency-test", "Default-CPU"],
+# descriptionDone=["consistency-test", "Default-CPU"],
+# flunkOnWarnings=True,
+# command=".\BuildAvida.py Consistency-Check--Default-CPU",
+# )
+
+#avida_development_scons_win32_default_smt_consistency_tests_step= s(
+# step.ShellCommand,
+# description=["running consistency-test", "Default-SMT"],
+# descriptionDone=["consistency-test", "Default-SMT"],
+# flunkOnWarnings=True,
+# command=".\BuildAvida.py Consistency-Check--Default-SMT",
+# )
+
+avida_default_consistency_tests_step = s(
+ step.ShellCommand,
+ description=["running consistency-test", "Default-CPU"],
+ descriptionDone=["consistency-test", "Default-CPU"],
+ flunkOnWarnings=True,
+ command="./test_avida --verbose -R Consistency-Check--Default"
+ )
+
+avida_default_cpu_consistency_tests_step = s(
+ step.ShellCommand,
+ description=["running consistency-test", "Default-CPU"],
+ descriptionDone=["consistency-test", "Default-CPU"],
+ flunkOnWarnings=True,
+ command="./test_avida --verbose -R Consistency-Check--Default-CPU"
+ )
+
+avida_default_smt_consistency_tests_step = s(
+ step.ShellCommand,
+ description=["running consistency-test", "Default-SMT"],
+ descriptionDone=["consistency-test", "Default-SMT"],
+ flunkOnWarnings=True,
+ command="./test_avida --verbose -R Consistency-Check--Default-SMT"
+ )
+
+avida_full_unit_tests_step = s(
+ step.ShellCommand,
+ description=["running unit-tests", "Full"],
+ descriptionDone=["unit-tests", "Full"],
+ flunkOnWarnings=True,
+ command="./test_avida --verbose -R full-unit-tests"
+ )
+
+avida_dule_consistency_tests_step = s(
+ step.ShellCommand,
+ description=["running consistency-test", "dule"],
+ descriptionDone=["consistency-test", "dule"],
+ flunkOnWarnings=True,
+ command="./test_avida --verbose -R Consistency-Check--dule"
+ )
+
+avida_goingssh_consistency_tests_step = s(
+ step.ShellCommand,
+ description=["running consistency-test", "goingssh"],
+ descriptionDone=["consistency-test", "goingssh"],
+ flunkOnWarnings=True,
+ command="./test_avida --verbose -R Consistency-Check--goingssh"
+ )
+
+avida_jclune_consistency_tests_step = s(
+ step.ShellCommand,
+ description=["running consistency-test", "jclune"],
+ descriptionDone=["consistency-test", "jclune"],
+ flunkOnWarnings=True,
+ command="./test_avida --verbose -R Consistency-Check--jclune"
+ )
+
+
+## Factories
+
+avida_trunk_factory = factory.BuildFactory([
+ avida_trunk_source_step,
+ avida_build_step,
+ avida_default_cpu_consistency_tests_step,
+ avida_default_smt_consistency_tests_step,
+ #avida_dule_consistency_tests_step,
+ #avida_goingssh_consistency_tests_step,
+ ])
+
+avida_jeffdev_factory = factory.BuildFactory([
+ avida_jeffdev_source_step,
+ avida_build_step,
+ avida_default_consistency_tests_step,
+ avida_dule_consistency_tests_step,
+ avida_goingssh_consistency_tests_step,
+ avida_jclune_consistency_tests_step,
+ ])
+
+avida_coopcomm_factory = factory.BuildFactory([
+ avida_coopcomm_source_step,
+ avida_build_step,
+ avida_default_cpu_consistency_tests_step,
+ avida_default_smt_consistency_tests_step,
+ #avida_dule_consistency_tests_step,
+ #avida_goingssh_consistency_tests_step,
+ ])
+
+#avida_development_scons_win32_bt_factory = factory.BuildFactory([
+# avida_development_source_step,
+# avida_development_scons_win32_build_step,
+# avida_development_scons_win32_default_cpu_consistency_tests_step,
+# avida_development_scons_win32_default_smt_consistency_tests_step,
+# ])
+
+avida_development_ut_factory = factory.BuildFactory([
+ avida_development_source_step,
+ avida_development_build_step,
+ avida_full_unit_tests_step,
+ ])
+
+avida_development_ct_factory = factory.BuildFactory([
+ avida_development_source_step,
+ avida_development_build_step,
+ avida_default_cpu_consistency_tests_step,
+ avida_default_smt_consistency_tests_step,
+ ])
+
+#avida_ed_factory = factory.BuildFactory([
+# #avida_ed_bootstrap_step,
+# avida_ed_build_step,
+# ])
+
+c['builders'] = [
+ #{
+ # 'name':'avida_myxo_trunk',
+ # 'slavename':'avida_myxo_trunk_slavebot',
+ # 'builddir':'avida_myxo_trunk_dir',
+ # 'factory':avida_trunk_factory
+ #},
+ {
+ 'name':'rodan_trunk',
+ 'slavename':'rodan_slavebot',
+ 'builddir':'avida_rodan_trunk_dir',
+ 'factory':avida_trunk_factory
+ },
+ #{
+ # 'name':'rodan_development_ut',
+ # 'slavename':'rodan_slavebot',
+ # 'builddir':'avida_rodan_development_ut_dir',
+ # 'factory':avida_development_ut_factory
+ #},
+ {
+ 'name':'rodan_development_ct',
+ 'slavename':'rodan_slavebot',
+ 'builddir':'avida_rodan_development_ct_dir',
+ 'factory':avida_development_ct_factory
+ },
+ {
+ 'name':'rodan_jeffdev',
+ 'slavename':'rodan_slavebot',
+ 'builddir':'avida_rodan_jeffdev_dir',
+ 'factory':avida_jeffdev_factory
+ },
+ {
+ 'name':'rodan_coopcomm',
+ 'slavename':'rodan_slavebot',
+ 'builddir':'avida_rodan_coopcomm_dir',
+ 'factory':avida_coopcomm_factory
+ },
+ #{
+ # 'name':'deathbox_development_bt',
+ # 'slavename':'deathbox',
+ # 'builddir':'development_bt_dir',
+ # 'factory':avida_development_scons_win32_bt_factory
+ #},
+ ### CMake is a headache. @kgn
+ {
+ 'name':'ribosome_trunk',
+ 'slavename':'ribosome_slavebot',
+ 'builddir':'avida_ribosome_trunk_dir',
+ 'factory':avida_trunk_factory
+ },
+ #{
+ # 'name':'ribosome_development_ut',
+ # 'slavename':'ribosome_slavebot',
+ # 'builddir':'avida_ribosome_development_ut_dir',
+ # 'factory':avida_development_ut_factory
+ #},
+ {
+ 'name':'ribosome_development_ct',
+ 'slavename':'ribosome_slavebot',
+ 'builddir':'avida_ribosome_development_ct_dir',
+ 'factory':avida_development_ct_factory
+ },
+ {
+ 'name':'ribosome_coopcomm',
+ 'slavename':'ribosome_slavebot',
+ 'builddir':'avida_ribosome_coopcomm_dir',
+ 'factory':avida_coopcomm_factory
+ },
+ #{
+ # 'name':'devolab_avida_ed',
+ # 'slavename':'avida_devolab_avida_ed_slavebot',
+ # 'builddir':'avida_ed_one_step',
+ # 'factory':avida_ed_factory
+ #},
+ ###
+ #{
+ # 'name':'rodan_bb_hacking_development',
+ # 'slavename':'avida_rodan_bb_hacking_slavebot',
+ # 'builddir':'avida_rodan_rodan_bb_hacking_development_dir',
+ # 'factory':avida_development_ct_factory
+ #},
+ #{
+ # 'name':'rodan_bb_hacking_trunk',
+ # 'slavename':'avida_rodan_bb_hacking_slavebot',
+ # 'builddir':'avida_rodan_rodan_bb_hacking_trunk_dir',
+ # 'factory':avida_trunk_factory
+ #},
+ ]
+
+# 'slavePortnum' defines the TCP port to listen on. This must match the value
+# configured into the buildslaves (with their --master option)
+
+c['slavePortnum'] = 9989
+
+# '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'].append(mail.MailNotifier(fromaddr="buildbot at localhost",
+# extraRecipients=["builds at example.com"],
+# sendToInterestedUsers=False))
+
+avida_email_dict = {
+ 'baerb':'baerb at msu.edu',
+ 'brysonda':'brysonda at egr.msu.edu',
+ 'covertar':'covertar at msu.edu',
+ 'dule':'dule at cns.caltech.edu',
+ 'gabe':'yedidgab at msu.edu',
+ 'gerrishj':'gerrishj at msu.edu',
+ 'goingssh':'goingssh at msu.edu',
+ 'huangw10':'huangw10 at cse.msu.edu',
+ 'jclune':'jclune at msu.edu',
+ 'kaben':'kaben.nanlohy+buildbot.avida at gmail.com',
+ 'ofria':'charles at idyll.org',
+ 'matt':'ruppmatt at msu.edu',
+ 'howestim':'howestim at msu.edu',
+ 'rapaijas':'rapaijas at msu.edu',
+ 'weise':None,
+}
+avida_email_lookup = AvidaEmailLookup(avida_email_dict)
+avida_email_notifier = mail.MailNotifier(
+ fromaddr = 'crashdummy at myxo.css.msu.edu',
+ mode = 'failing',
+ lookup = avida_email_lookup,
+ extraRecipients = [
+ #'avida-cvs at lists.idyll.org'
+ 'brysonda at mac.com',
+ 'kaben.nanlohy+buildbot.avida at gmail.com',
+ 'charles at idyll.org',
+ 'baerb at msu.edu',
+ ],
+ sendToInterestedUsers = True,
+)
+
+c['status'] = []
+c['status'].append(html.Waterfall(http_port=8010))
+c['status'].append(avida_email_notifier)
+
+# from buildbot.status import mail
+# c['status'].append(mail.MailNotifier(fromaddr="buildbot at localhost",
+# extraRecipients=["builds at example.com"],
+# sendToInterestedUsers=False))
+# from buildbot.status import words
+# c['status'].append(words.IRC(host="irc.example.com", nick="bb",
+# channels=["#example"]))
+
+
+# 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 'sources' set up). The debug tool uses the
+# same port number as the slaves do: 'slavePortnum'.
+
+c['debugPassword'] = "debugpassword"
+
+# if you set 'manhole', you can telnet 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.
+# from buildbot.master import Manhole
+#c['manhole'] = Manhole(9999, "admin", "password")
+
+# the 'projectName' string will be used to describe the project that this
+# buildbot is working on. For example, it is used as the title of the
+# waterfall HTML page. The 'projectURL' string will be used to provide a link
+# from buildbot HTML pages to your project's home page.
+
+c['projectName'] = "Avida"
+c['projectURL'] = "http://myxo.css.msu.edu/~kaben/for_devolab/Avida"
+
+# 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'] = "http://myxo.css.msu.edu:8010/"
+
+# Vim modeline to tell Vim that this is a configuration script.
+# vim: set ft=config:
More information about the Avida-cvs
mailing list