[Buildbot-devel] Renderable locks in 0.8.8

Thomas Middeldorp thomas at ranzer.geek.nz
Mon Jun 8 06:33:24 UTC 2015


Hi,

I'm trying to figure out how to implement renderable locks in 0.8.8, after
seeing the feature was recently added to the master git version.

So far I've tried adding the changes from commits
83bf42c098da83d6e54746ed9c5cef5274749088 and
1444e324f4b032365029f0128a3d0af874b61b46 (as well as changing startStep to
use inline callbacks) but all it's got me is the following error when
trying to start a build:

2015-06-07 23:11:16+1200 [-] <Build asset-tests-linux-incr>.startBuild
2015-06-07 23:11:17+1200 [-] <Build asset-tests-linux-incr>.buildException
2015-06-07 23:11:17+1200 [-] Unhandled Error
        Traceback (most recent call last):
          File
"/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1039, in
_inlineCallbacks
            result = g.send(result)
          File
"/home/buildmaster/buildbot_devel/local/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/process/buildstep.py",
line 527, in startStep
            self.locks = yield self.build.render(self.locks)
          File
"/home/buildmaster/buildbot_devel/local/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/process/properties.py",
line 191, in render
            return props.render(value)
          File
"/home/buildmaster/buildbot_devel/local/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/process/properties.py",
line 151, in render
            return defer.maybeDeferred(renderable.getRenderingFor, self)
        --- <exception caught here> ---
          File
"/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 134, in
maybeDeferred
            result = f(*args, **kw)
          File
"/home/buildmaster/buildbot_devel/local/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/process/properties.py",
line 651, in getRenderingFor
            return defer.gatherResults([ build.render(e) for e in
self.value ])
          File
"/home/buildmaster/buildbot_devel/local/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/process/properties.py",
line 150, in render
            renderable = IRenderable(value)
        exceptions.TypeError: ('Could not adapt',
<buildbot.locks.LockAccess instance at 0x351c320>, <InterfaceClass
buildbot.interfaces.IRenderable>)

I'm having trouble figuring out what has actually changed since 0.8.8 that
allows this to work in master. As far as I can tell 0.8.8 already has
_DefaultRenderer registered for the object type, which I would have thought
would allow this to adapt. Does anyone know what I'm missing? I'm hoping
this doesn't depend on a significant refactor as I'd really like to have
this feature in 0.8.8.

Thanks,
Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20150608/b1964de4/attachment.html>


More information about the devel mailing list