[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