[Checkins] SVN: zope.wineggbuilder/trunk/ trying to deliver build status images
Adam Groszer
cvs-admin at zope.org
Tue Feb 26 09:56:52 UTC 2013
Log message for revision 129825:
trying to deliver build status images
Changed:
A zope.wineggbuilder/trunk/image.py
U zope.wineggbuilder/trunk/master.cfg
A zope.wineggbuilder/trunk/status_image_exception.png
A zope.wineggbuilder/trunk/status_image_failure.png
A zope.wineggbuilder/trunk/status_image_skipped.png
A zope.wineggbuilder/trunk/status_image_success.png
A zope.wineggbuilder/trunk/status_image_warnings.png
-=-
Added: zope.wineggbuilder/trunk/image.py
===================================================================
--- zope.wineggbuilder/trunk/image.py (rev 0)
+++ zope.wineggbuilder/trunk/image.py 2013-02-26 09:56:51 UTC (rev 129825)
@@ -0,0 +1,60 @@
+# this is a snippet ready to be pasted into master.cfg
+# then you can get the image by:
+# http://localhost:8010/buildstatusimage?builder=runtests&number=-1
+
+import os
+from buildbot.status import html
+from buildbot.status.results import SUCCESS, WARNINGS, FAILURE, SKIPPED, EXCEPTION
+from buildbot.status.results import Results
+from buildbot.status.web.base import HtmlResource
+
+class BuildStatusImageResource(HtmlResource):
+ contentType = "image/png"
+
+ def __init__(self, categories=None):
+ HtmlResource.__init__(self)
+
+ def content(self, request, ctx):
+ """Display a build status image like Travis does."""
+
+ status = self.getStatus(request)
+ request.setHeader('Cache-Control', 'no-cache')
+
+ # Get the parameters.
+ name = request.args.get("builder", [None])[0]
+ number = request.args.get("number", [None])[0]
+ if not name or not number:
+ return "builder and number parameter missing"
+ number = int(number)
+
+ # Check if the builder in parameter exists.
+ try:
+ builder = status.getBuilder(name)
+ except:
+ return "unknown builder"
+
+ # Check if the build in parameter exists.
+ build = builder.getBuild(int(number))
+ if not build:
+ return "unknown build %s" % number
+
+ #SUCCESS, WARNINGS, FAILURE, SKIPPED or EXCEPTION
+ res = build.getResults()
+ resname = Results[res]
+
+ img = 'status_image_%s.png' % resname
+ here = os.path.dirname(__file__)
+ imgfile = os.path.join(here, img)
+
+ imgcontent = open(imgfile, 'rb').read()
+
+ return imgcontent
+
+class WebStatus(html.WebStatus):
+ def setupUsualPages(self, numbuilds, num_events, num_events_max):
+ html.WebStatus.setupUsualPages(self, numbuilds, num_events, num_events_max)
+ self.putChild("buildstatusimage", BuildStatusImageResource())
+
+
+# and use the WebStatus defined above instead of buildbot's
+#c['status'].append(WebStatus(http_port=8010))
Property changes on: zope.wineggbuilder/trunk/image.py
___________________________________________________________________
Added: svn:keywords
+ Date Author Id Revision
Added: svn:eol-style
+ native
Modified: zope.wineggbuilder/trunk/master.cfg
===================================================================
--- zope.wineggbuilder/trunk/master.cfg 2013-02-26 06:54:11 UTC (rev 129824)
+++ zope.wineggbuilder/trunk/master.cfg 2013-02-26 09:56:51 UTC (rev 129825)
@@ -21,6 +21,8 @@
from buildbot.scheduler import Scheduler, Nightly, Triggerable, Periodic
from buildbot.steps.trigger import Trigger
+import image
+
is_win32 = sys.platform == 'win32'
# This is a sample buildmaster config file. It must be installed as
@@ -1360,7 +1362,8 @@
c['status'].append(html.WebStatus(http_port=8009, allowForce=True, logRotateLength=100000000))
#proxy THIS via apache
-c['status'].append(html.WebStatus(http_port=8010, allowForce=False, logRotateLength=100000000))
+#use the WebStatus that provides status images
+c['status'].append(image.WebStatus(http_port=8010, allowForce=False, logRotateLength=100000000))
c['projectName'] = "Zope wineggbuilder and windows buildbot"
Added: zope.wineggbuilder/trunk/status_image_exception.png
===================================================================
(Binary files differ)
Property changes on: zope.wineggbuilder/trunk/status_image_exception.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: zope.wineggbuilder/trunk/status_image_failure.png
===================================================================
(Binary files differ)
Property changes on: zope.wineggbuilder/trunk/status_image_failure.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: zope.wineggbuilder/trunk/status_image_skipped.png
===================================================================
(Binary files differ)
Property changes on: zope.wineggbuilder/trunk/status_image_skipped.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: zope.wineggbuilder/trunk/status_image_success.png
===================================================================
(Binary files differ)
Property changes on: zope.wineggbuilder/trunk/status_image_success.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: zope.wineggbuilder/trunk/status_image_warnings.png
===================================================================
(Binary files differ)
Property changes on: zope.wineggbuilder/trunk/status_image_warnings.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
More information about the checkins
mailing list