[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