[Buildbot-devel] Renderable locks in 0.8.8

Vitali Lovich vlovich at gmail.com
Tue Jun 9 00:25:47 UTC 2015


That is just a breakage in the test itself not in the implementation.

-Vitali

> On Jun 8, 2015, at 5:00 PM, Thomas Middeldorp <thomas at ranzer.geek.nz> wrote:
> 
> Ah, I had assumed all classes implicitly extend object. Thanks for finding this!
> 
> I see there is still a problem with one of the tests in that pull request. I'm trying to figure out what could be causing that now (although I'm a little out of my depth, so help is still appreciated).
> 
> - Thomas
> 
> 
> On 8/06/2015 10:51 p.m., Vitali Lovich wrote:
>> Found the problem.
>> Pull request updated: https://github.com/buildbot/buildbot/pull/1711 <https://github.com/buildbot/buildbot/pull/1711>
>> 
>> Here’s the patch you need.  Pretty simple:
>> 
>> git show -p 4cb7c03bac475b2597d7df9ed94a3a165314351c
>> commit 4cb7c03bac475b2597d7df9ed94a3a165314351c
>> Author: Vitali Lovich <lovich at apple.com <mailto:lovich at apple.com> <mailto:lovich at apple.com <mailto:lovich at apple.com>>>
>> Date:   Mon Jun 8 03:47:56 2015 -0700
>> 
>>     Make ComparableMixin extend from object
>> 
>>     Backport change in 89365c81 (merged in 'Merge branch 'pull1100' into
>>     nine') that makes it so that allows LockAccess to be renderable.
>> 
>> diff --git a/master/buildbot/util/__init__.py
>> b/master/buildbot/util/__init__.py
>> index 55ef96e..4c95c0a 100644
>> --- a/master/buildbot/util/__init__.py
>> +++ b/master/buildbot/util/__init__.py
>> @@ -77,7 +77,7 @@ def formatInterval(eta):
>>      return ", ".join(eta_parts)
>> 
>> 
>> -class ComparableMixin:
>> +class ComparableMixin(object):
>> 
>>      compare_attrs = []
>> 
>>> On Jun 8, 2015, at 2:49 AM, Vitali Lovich <vlovich at gmail.com <mailto:vlovich at gmail.com>
>>> <mailto:vlovich at gmail.com <mailto:vlovich at gmail.com>>> wrote:
>>> 
>>> Phew.  I see the same error when I backport the change.  So it does
>>> look like something is missing from eight that makes this work on nine.
>>> Let me see if I can figure out a fix.
>>> 
>>>> On Jun 8, 2015, at 2:43 AM, Thomas Middeldorp <thomas at ranzer.geek.nz <mailto:thomas at ranzer.geek.nz>
>>>> <mailto:thomas at ranzer.geek.nz <mailto:thomas at ranzer.geek.nz>>> wrote:
>>>> 
>>>> I haven't tried the unit tests yet - the exception from my last email
>>>> is from a regular lock. I haven't made any changes to master.cfg yet,
>>>> I figured I would see if I can get it to work with normal locks
>>>> before I tried it with an actual renderable. I still haven't been
>>>> able to figure out why the normal lock isn't being handled by
>>>> _DefaultRenderer though. Any thoughts?
>>>> 
>>>> - Thomas
>>>> 
>>>> On 8 June 2015 at 21:34, Vitali Lovich <vlovich at gmail.com <mailto:vlovich at gmail.com>
>>>> <mailto:vlovich at gmail.com <mailto:vlovich at gmail.com>>> wrote:
>>>> 
>>>>    Do the unit tests pass with your changes?  That would be my
>>>>    starting point.  I’ve been meaning to backport this to eight but
>>>>    I haven’t tried.
>>>>    Hopefully I didn’t accidentally break anything.
>>>> 
>>>>    Is it just renderable locks that aren’t working or are regular
>>>>    locks broken too?
>>>> 
>>>>    > On Jun 7, 2015, at 11:33 PM, Thomas Middeldorp
>>>>    <thomas at ranzer.geek.nz <mailto:thomas at ranzer.geek.nz> <mailto:thomas at ranzer.geek.nz <mailto:thomas at ranzer.geek.nz>>> wrote:
>>>>    >
>>>>    > 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
>>>>    >
>>>>    >
>>>>    ------------------------------------------------------------------------------
>>>>    > _______________________________________________
>>>>    > Buildbot-devel mailing list
>>>>    > Buildbot-devel at lists.sourceforge.net <mailto:Buildbot-devel at lists.sourceforge.net>
>>>>    <mailto:Buildbot-devel at lists.sourceforge.net <mailto:Buildbot-devel at lists.sourceforge.net>>
>>>>    > https://lists.sourceforge.net/lists/listinfo/buildbot-devel <https://lists.sourceforge.net/lists/listinfo/buildbot-devel>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20150608/28107e1b/attachment.html>


More information about the devel mailing list