[Checkins] SVN: Sandbox/adamg/zope.wineggbuilder/trunk/master.cfg starting with mail status

Adam Groszer agroszer at gmail.com
Thu Jul 1 05:27:15 EDT 2010


Log message for revision 114039:
  starting with mail status

Changed:
  U   Sandbox/adamg/zope.wineggbuilder/trunk/master.cfg

-=-
Modified: Sandbox/adamg/zope.wineggbuilder/trunk/master.cfg
===================================================================
--- Sandbox/adamg/zope.wineggbuilder/trunk/master.cfg	2010-07-01 08:27:03 UTC (rev 114038)
+++ Sandbox/adamg/zope.wineggbuilder/trunk/master.cfg	2010-07-01 09:27:13 UTC (rev 114039)
@@ -51,6 +51,7 @@
 # to limit to two concurrent builds on a slave, use
 #  c['slaves'] = [BuildSlave("bot1name", "bot1passwd", max_builds=2)]
 
+FROMADDR = 'buildbot at winbot.zope.org'
 
 ######################################
 # Custom helper classes
@@ -319,11 +320,11 @@
 
 #these python's have the right settings to be able to compile binary eggs
 ZTK_DEV_PLATFORMS = dict(
-    #py_244_win32 = Platform(
-    #    name='py_244_win32',
-    #    title='Python 2.4.4 win32',
-    #    python=r'c:\Python24_32\python.exe',
-    #    buildout=r'cmd /c c:\Python24_32\setupcompilerandexecute.bat bin\buildout.exe'),
+    py_244_win32 = Platform(
+        name='py_244_win32',
+        title='Python 2.4.4 win32',
+        python=r'c:\Python24_32\python.exe',
+        buildout=r'cmd /c c:\Python24_32\setupcompilerandexecute.bat bin\buildout.exe'),
     py_254_win32 = Platform(
         name='py_254_win32',
         title='Python 2.5.4 win32',
@@ -400,15 +401,27 @@
 
 def setupZTK_dev_tests(slow_lock):
     hour = 02
+    minute = 01
+    builders = []
     for pname in sorted(ZTK_DEV_PLATFORMS.keys()):
         platform = ZTK_DEV_PLATFORMS[pname]
         name = "ztk_dev %s" % platform.name
+        builders.append(name)
         c['builders'].append(
             ztk_dev_builder(name, 'local', platform, [slow_lock]))
 
         c['schedulers'].append(
-            Nightly( "%s_nightly" % name, [name], hour=hour))
+            Nightly( "%s_nightly" % name, [name], hour=hour, minute=minute))
+        minute += 1
 
+    c['status'].append(
+      MailNotifier(mode="all",
+               fromaddr=FROMADDR,
+               extraRecipients=["zope-tests at zope.org"],
+               sendToInterestedUsers=False,
+               builders=builders,
+               messageFormatter=message_formatter)
+               )
 # ZTK tests
 ######################################
 
@@ -463,6 +476,7 @@
 
 def setupZTK_10_tests(slow_lock):
     hour = 02
+    minute = 10
     for pname in sorted(ZTK_DEV_PLATFORMS.keys()):
         platform = ZTK_DEV_PLATFORMS[pname]
         name = "ztk_10 %s" % platform.name
@@ -470,7 +484,8 @@
             ztk_10_builder(name, 'local', platform, [slow_lock]))
 
         c['schedulers'].append(
-            Nightly( "%s_nightly" % name, [name], hour=hour))
+            Nightly( "%s_nightly" % name, [name], hour=hour, minute=minute))
+        minute += 1
 
 # ZTK 1.0 tests
 ######################################
@@ -518,7 +533,8 @@
                 locks=locks)
 
 def setup_zc_buildout_dev_tests(slow_lock):
-    hour = 03
+    hour = 02
+    minute = 20
     for pname in sorted(PLATFORMS.keys()):
         platform = PLATFORMS[pname]
         name = "zc_buildout_dev %s" % platform.name
@@ -526,7 +542,8 @@
             zc_buildout_dev_builder(name, 'local', platform, [slow_lock]))
 
         c['schedulers'].append(
-            Nightly( "%s_nightly" % name, [name], hour=hour))
+            Nightly( "%s_nightly" % name, [name], hour=hour, minute=minute))
+        minute += 1
 
 # zc.buildout
 ######################################
@@ -667,11 +684,69 @@
 # zc.buildout
 ######################################
 
+######################################
+# mail status
+from buildbot.status.html import WebStatus
+from buildbot.status.mail import MailNotifier
+from buildbot.status.builder import Results
+
+
+def message_formatter(mode, name, build, results, master_status):
+    """Provide a customized message to BuildBot's MailNotifier.
+    The last 80 lines of the log are provided as well as the changes
+    relevant to the build.
+    """
+    result = Results[results]
+
+    limit_lines = 80
+    text = list()
+
+    # status required by zope-tests list
+    # http://docs.zope.org/zopetoolkit/process/buildbots.html
+    status = 'UNKNOWN'
+    if result == 'success':
+        status = 'OK'
+    if result == 'failure':
+        status = 'FAILED'
+
+    subject = '%s : %s / %s' % (status, master_status.getProjectName(), name)
+    text.append(subject)
+    text.append("Build: %s" % master_status.getURLForThing(build))
+    text.append('\n')
+    text.append("Build Reason: %s" % build.getReason())
+    text.append('\n')
+
+    source = ""
+    ss = build.getSourceStamp()
+    if ss.branch:
+        source += "[branch %s] " % ss.branch
+    if ss.revision:
+        source +=  ss.revision
+    else:
+        source += "HEAD"
+    if ss.patch:
+        source += " (plus patch)"
+    text.append("Build Source Stamp: %s" % source)
+    text.append('\n')
+    text.append("Blamelist: %s" % ", ".join(build.getResponsibleUsers()))
+    text.append('\n')
+    text.append("Buildbot: %s" % master_status.getBuildbotURL())
+    return {
+        'body': "\n".join(text),
+        'type': 'plain',
+        'subject': subject,
+        }
+
+# mail status
+######################################
+
+
 #let's stick with ONE test
 slow_lock = locks.SlaveLock("cpu", maxCount=1)
 
 c['schedulers'] = []
 c['builders'] = []
+c['status'] = []
 
 setupCleanupBuild(slow_lock)
 
@@ -682,7 +757,6 @@
 setup_ZODB_dev_tests(slow_lock)
 setup_BB_dev_tests(slow_lock)
 
-c['status'] = []
 
 #NO proxy via apache, so it can be kicked locally at least
 c['status'].append(html.WebStatus(http_port=8009, allowForce=True))



More information about the checkins mailing list