[Checkins] SVN: zopetoolkit/doc/s Updated buildbots and code to generate status
Partick Gerken
cvs-admin at zope.org
Thu Aug 30 16:03:56 UTC 2012
Log message for revision 127651:
Updated buildbots and code to generate status
Changed:
U zopetoolkit/doc/source/process/buildbots.rst
U zopetoolkit/doc/src/ztksphinx.py
-=-
Modified: zopetoolkit/doc/source/process/buildbots.rst
===================================================================
--- zopetoolkit/doc/source/process/buildbots.rst 2012-08-30 15:56:00 UTC (rev 127650)
+++ zopetoolkit/doc/source/process/buildbots.rst 2012-08-30 16:03:51 UTC (rev 127651)
@@ -74,35 +74,35 @@
* - `ZODB trunk <http://svn.zope.org/ZODB/trunk>`__
- unsupported
- - .. buildbotresult:: http://winbot.zope.org/builders/ZODB_dev%20py_254_win32 winbot
+ - unsupported
- .. buildbotresult:: http://winbot.zope.org/builders/ZODB_dev%20py_265_win32 winbot
- .. buildbotresult:: http://winbot.zope.org/builders/ZODB_dev%20py_270_win32 winbot
- .. buildbotresult:: http://winbot.zope.org/builders/ZODB_dev%20py_265_win64 winbot
- .. buildbotresult:: http://winbot.zope.org/builders/ZODB_dev%20py_270_win64 winbot
* - `ZTK 1.0 <http://svn.zope.org/zopetoolkit/branches/1.0>`__
- - .. buildbotresult:: http://winbot.zope.org/builders/ztk_10%20py_244_win32 winbot
+ -
- .. buildbotresult:: http://winbot.zope.org/builders/ztk_10%20py_254_win32 winbot
- .. buildbotresult:: http://winbot.zope.org/builders/ztk_10%20py_265_win32 winbot
- unsupported
- .. buildbotresult:: http://winbot.zope.org/builders/ztk_10%20py_265_win64 winbot
- unsupported
- * - `ZTK trunk <http://svn.zope.org/zopetoolkit/trunk>`__
+ * - `zc.buildout 1.6.x <https://github.com/buildout/buildout/tree/1.6.x>`__
- unsupported
- - .. buildbotresult:: http://winbot.zope.org/builders/ztk_dev%20py_254_win32 winbot
- - .. buildbotresult:: http://winbot.zope.org/builders/ztk_dev%20py_265_win32 winbot
- - .. buildbotresult:: http://winbot.zope.org/builders/ztk_dev%20py_270_win32 winbot
- - .. buildbotresult:: http://winbot.zope.org/builders/ztk_dev%20py_265_win64 winbot
- - .. buildbotresult:: http://winbot.zope.org/builders/ztk_dev%20py_270_win64 winbot
+ - .. buildbotresult:: http://winbot.zope.org/builders/zc_buildout_dev%20py_254_win32%201.6.x winbot
+ - .. buildbotresult:: http://winbot.zope.org/builders/zc_buildout_dev%20py_265_win32%201.6.x winbot
+ - .. buildbotresult:: http://winbot.zope.org/builders/zc_buildout_dev%20py_270_win32%201.6.x winbot
+ - .. buildbotresult:: http://winbot.zope.org/builders/zc_buildout_dev%20py_265_win64%201.6.x winbot
+ - .. buildbotresult:: http://winbot.zope.org/builders/zc_buildout_dev%20py_270_win64%201.6.x winbot
- * - `zc.buildout trunk <http://svn.zope.org/zc.buildout/trunk>`__
+ * - `zc.buildout master <https://github.com/buildout/buildout>`__
- unsupported
- - .. buildbotresult:: http://winbot.zope.org/builders/zc_buildout_dev%20py_254_win32 winbot
- - .. buildbotresult:: http://winbot.zope.org/builders/zc_buildout_dev%20py_265_win32 winbot
- - .. buildbotresult:: http://winbot.zope.org/builders/zc_buildout_dev%20py_270_win32 winbot
- - .. buildbotresult:: http://winbot.zope.org/builders/zc_buildout_dev%20py_265_win64 winbot
- - .. buildbotresult:: http://winbot.zope.org/builders/zc_buildout_dev%20py_270_win64 winbot
+ -
+ - .. buildbotresult:: http://winbot.zope.org/builders/zc_buildout_dev%20py_265_win32%20master winbot
+ - .. buildbotresult:: http://winbot.zope.org/builders/zc_buildout_dev%20py_270_win32%20master winbot
+ - .. buildbotresult:: http://winbot.zope.org/builders/zc_buildout_dev%20py_265_win64%20master winbot
+ - .. buildbotresult:: http://winbot.zope.org/builders/zc_buildout_dev%20py_270_win64%20master winbot
* - `Bluebream <http://svn.zope.org/bluebream/trunk>`__
- .. buildbotresult:: http://winbot.zope.org/builders/BlueBream_dev%20py_244_win32 winbot
@@ -129,9 +129,9 @@
* - `Zope 2.10 <http://svn.zope.org/Zope/branches/2.10>`__
-
+ - unsuported
+ - unsupported
- unsupported
- - unsupported
- - unsupported
- EPY
- unsupported
- unsupported
@@ -150,33 +150,32 @@
* - `Zope 2.12 <http://svn.zope.org/Zope/branches/2.12>`__
- unsupported
- unsupported
+ -
- unsupported
- unsupported
- unsupported
- - unsupported
- EPY
- unsupported
* - `Zope 3.4 KGS <http://svn.zope.org/zope.release/branches/3.4>`__
- - .. buildbotresult:: http://zope3.pov.lt/buildbot/builders/py2.4-32bit-linux POV
- - .. buildbotresult:: http://zope3.pov.lt/buildbot/builders/py2.5-32bit-linux POV
+ -
+ -
- unsupported
- unsupported
- - * .. buildbotresult:: http://buildbot.afpy.org/kgs3.4/builders/Python2.4.6%2064bit%20linux AFPY
- * .. buildbotresult:: http://zope3.pov.lt/buildbot/builders/py2.4-64bit-linux POV
- - * .. buildbotresult:: http://buildbot.afpy.org/kgs3.4/builders/Python2.5.5%2064bit%20linux AFPY
+ - * .. buildbotresult:: http://zope3.pov.lt/buildbot/builders/py2.4-64bit-linux POV
+ - * .. buildbotresult:: http://buildbot.afpy.org/kgs3.4/builders/Python2.5.6%2064bit%20linux AFPY
* .. buildbotresult:: http://zope3.pov.lt/buildbot/builders/py2.5-64bit-linux POV
- unsupported
- unsupported
* - `ZTK 1.0 <http://svn.zope.org/zopetoolkit/branches/1.0>`__
+ -
+ -
+ -
- unsupported
- - unsupported
- - unsupported
- - unsupported
- .. buildbotresult:: http://buildbot.afpy.org/ztk1.0/builders/Python2.4.6%20Linux%2064bit AFPY
- - .. buildbotresult:: http://buildbot.afpy.org/ztk1.0/builders/Python2.5.5%20Linux%2064bit AFPY
- - .. buildbotresult:: http://buildbot.afpy.org/ztk1.0/builders/Python2.6.5%20Linux%2064bit AFPY
+ - .. buildbotresult:: http://buildbot.afpy.org/ztk1.0/builders/Python2.5.6%20Linux%2064bit AFPY
+ - .. buildbotresult:: http://buildbot.afpy.org/ztk1.0/builders/Python2.6.7%20Linux%2064bit AFPY
- unsupported
* - `ZTK 1.0 <http://svn.zope.org/zopetoolkit/branches/1.0>`_ dev
@@ -185,39 +184,29 @@
-
- unsupported
- .. buildbotresult:: http://buildbot.afpy.org/ztk1.0dev/builders/Python2.4.6%20Linux%2064bit AFPY
- - .. buildbotresult:: http://buildbot.afpy.org/ztk1.0dev/builders/Python2.5.5%20Linux%2064bit AFPY
- - .. buildbotresult:: http://buildbot.afpy.org/ztk1.0dev/builders/Python2.6.5%20Linux%2064bit AFPY
+ - .. buildbotresult:: http://buildbot.afpy.org/ztk1.0dev/builders/Python2.5.6%20Linux%2064bit AFPY
+ - .. buildbotresult:: http://buildbot.afpy.org/ztk1.0dev/builders/Python2.6.7%20Linux%2064bit AFPY
- unsupported
* - `ZTK 1.1 <http://svn.zope.org/zopetoolkit/branches/1.1>`__
- unsupported
+ -
+ -
+ -
- unsupported
- - unsupported
- - unsupported
- - unsupported
- - .. buildbotresult:: http://buildbot.afpy.org/ztk1.1/builders/Python2.5.5%20Linux%2064bit AFPY
- - .. buildbotresult:: http://buildbot.afpy.org/ztk1.1/builders/Python2.6.5%20Linux%2064bit AFPY
- - .. buildbotresult:: http://buildbot.afpy.org/ztk1.1/builders/Python2.7.2%20Linux%2064bit AFPY
+ - .. buildbotresult:: http://buildbot.afpy.org/ztk1.1/builders/Python2.5.6%20Linux%2064bit AFPY
+ - .. buildbotresult:: http://buildbot.afpy.org/ztk1.1/builders/Python2.6.7%20Linux%2064bit AFPY
+ - .. buildbotresult:: http://buildbot.afpy.org/ztk1.1/builders/Python2.7.3%20Linux%2064bit AFPY
* - `ZTK trunk <http://svn.zope.org/zopetoolkit/trunk>`_
- unsupported
- - unsupported
- - unsupported
- - unsupported
- - unsupported
- - .. buildbotresult:: http://buildbot.afpy.org/ztk1.1dev/builders/Python2.5.5%20Linux%2064bit AFPY
- - .. buildbotresult:: http://buildbot.afpy.org/ztk1.1dev/builders/Python2.6.5%20Linux%2064bit AFPY
- - .. buildbotresult:: http://buildbot.afpy.org/ztk1.1dev/builders/Python2.7.2%20Linux%2064bit AFPY
-
- * - `Bluebream <http://svn.zope.org/bluebream/trunk>`__
+ -
-
- -
- -
- -
- - .. buildbotresult:: http://buildbot.afpy.org/bluebream/builders/Python2.4.6%2064bit%20linux AFPY
- - .. buildbotresult:: http://buildbot.afpy.org/bluebream/builders/Python2.5.5%2064bit%20linux AFPY
- - .. buildbotresult:: http://buildbot.afpy.org/bluebream/builders/Python2.6.5%2064bit%20linux AFPY
- - .. buildbotresult:: http://buildbot.afpy.org/bluebream/builders/Python2.7.2%2064bit%20linux AFPY
+ -
+ -
+ - .. buildbotresult:: http://buildbot.afpy.org/ztk1.1dev/builders/Python2.5.6%20Linux%2064bit AFPY
+ - .. buildbotresult:: http://buildbot.afpy.org/ztk1.1dev/builders/Python2.6.7%20Linux%2064bit AFPY
+ - .. buildbotresult:: http://buildbot.afpy.org/ztk1.1dev/builders/Python2.7.3%20Linux%2064bit AFPY
The Buildbot Maintainers
~~~~~~~~~~~~~~~~~~~~~~~~
Modified: zopetoolkit/doc/src/ztksphinx.py
===================================================================
--- zopetoolkit/doc/src/ztksphinx.py 2012-08-30 15:56:00 UTC (rev 127650)
+++ zopetoolkit/doc/src/ztksphinx.py 2012-08-30 16:03:51 UTC (rev 127651)
@@ -1,6 +1,6 @@
from docutils import nodes
from sphinx.util.compat import Directive
-from xmlrpclib import ServerProxy
+import json
import urllib
import socket
@@ -40,19 +40,17 @@
socket.setdefaulttimeout(min(socket_timeout, 5))
by_url = {}
for node in doctree.traverse(BuildbotColor):
- url, builder = parse_builder_url(node.buildbot_url)
- by_url.setdefault(url, []).append((node, builder))
+ url = parse_builder_url(node.buildbot_url)
+ by_url.setdefault(url, []).append(node)
jobs = []
for url, nodes in by_url.items():
- pieces = [nodes[0::2], nodes[1::2]]
- for n, nodes in enumerate(pieces):
- if not nodes:
- continue
- thread = threading.Thread(target=update_buildbot_nodes,
- args=(url, nodes),
- name='%s-%d' % (url, n+1))
- thread.start()
- jobs.append(thread)
+ if not nodes:
+ continue
+ thread = threading.Thread(target=update_buildbot_nodes,
+ args=(url, nodes),
+ name='%s' % (url,))
+ thread.start()
+ jobs.append(thread)
for thread in jobs:
thread.join()
finally:
@@ -61,20 +59,20 @@
def parse_builder_url(url):
"""Parse a builder URL into buildbot URL and builder name."""
- url = url.rstrip('/') # make sure trailing slashes don't cause failures
- xmlrpc_url = '/'.join(url.split('/')[:-2] + ['xmlrpc'])
- builder = urllib.unquote(url.split('/')[-1])
- return xmlrpc_url, builder
+ # make sure trailing slashes don't cause failures
+ url = url.rstrip('/').split('/')
+ cut_index = url.index('builders')
+ json_url = '/'.join(url[:cut_index] + ['json'] + url[cut_index:])
+ return json_url
-def update_buildbot_nodes(url, nodes_and_builders):
+def update_buildbot_nodes(url, nodes):
"""Get build status of a number of builders and update document nodes.
``nodes_and_builders`` is a list of tuples (node, builder_name).
"""
- results = get_buildbot_results(url, [b for n, b in nodes_and_builders])
- for node, builder in nodes_and_builders:
- result = results[builder]
+ result = get_buildbot_result(url)
+ for node in nodes:
if isinstance(result, Exception):
node.css_class = 'tests_could_not_determine'
node.title = '%s: %s' % (result.__class__.__name__, result)
@@ -84,7 +82,7 @@
node.css_class = 'tests_not_passed'
-def get_buildbot_results(xmlrpc_url, builders):
+def get_buildbot_result(json_url):
"""Return build status of a number of builders.
``builders`` is a list of builder names.
@@ -93,57 +91,12 @@
objects, in case of errors.
"""
try:
- xmlrpc = ServerProxy(xmlrpc_url)
+ data = json.load(urllib.urlopen(json_url + '/builds/-1'))
+ print data['text']
+ return u'successful' in data['text']
except Exception, e:
- return dict.fromkeys(builders, e)
- results = {}
- for builder in builders:
- try:
- results[builder] = (xmlrpc.getLastBuildResults(builder) == 'success')
- except Exception, e:
- # If the builder is currently running a build, you'll get an
- # generic "Fault 8002: error". The server's twistd.log contains
- # something like:
- # 2010-10-14 04:05:56+0300 [HTTPChannel,3237,127.0.0.1] Unhandled Error
- # Traceback (most recent call last):
- # File "/usr/lib/python2.6/dist-packages/twisted/web/server.py", line 132, in render
- # body = resrc.render(self)
- # File "/usr/lib/python2.6/dist-packages/buildbot/status/web/xmlrpc.py", line 16, in render
- # return xmlrpc.XMLRPC.render(self, req)
- # File "/usr/lib/python2.6/dist-packages/twisted/web/resource.py", line 210, in render
- # return m(request)
- # File "/usr/lib/python2.6/dist-packages/twisted/web/xmlrpc.py", line 123, in render_POST
- # d = defer.maybeDeferred(function, *args)
- # --- <exception caught here> ---
- # File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 117, in maybeDeferred
- # result = f(*args, **kw)
- # File "/usr/lib/python2.6/dist-packages/buildbot/status/web/xmlrpc.py", line 29, in xmlrpc_getLastBuildResults
- # return Results[lastbuild.getResults()]
- # exceptions.TypeError: list indices must be integers, not NoneType
- # and the XML-RPC response returned to the client looks like
- # HTTP/1.1 200 OK
- # ...
- # <?xml version='1.0'?>
- # <methodResponse>
- # <fault>
- # <value><struct>
- # <member>
- # <name>faultCode</name>
- # <value><int>8002</int></value>
- # </member>
- # <member>
- # <name>faultString</name>
- # <value><string>error</string></value>
- # </member>
- # </struct></value>
- # </fault>
- # </methodResponse>
- # Buildbot version 0.7.12-1ubuntu1
- # Buildbot bug, I haven't had time to search for/file a ticket yet.
- results[builder] = e
- return results
+ return e
-
class BuildbotColor(nodes.Inline, nodes.TextElement):
pass
More information about the checkins
mailing list