[Buildbot-devel] work-dir with shell.WithProperties?

A.T.Hofkamp a.t.hofkamp at tue.nl
Tue Jun 5 07:14:22 UTC 2007


Hello all,

I'd like to have a workdir specified using 'branch' and 'revision' properties.
I have tried the following step:

installbundle_buildFactory.addStep(
     shell.ShellCommand,
     workdir = shell.WithProperties('build/chi-tests-%(branch)s-rev%(revision)s'),
     command = [ './configure',
                 shell.WithProperties('--with-csim-base=' + install_basedir + 
'/%(branch)s/rev%(revision)s'),
                 shell.WithProperties('--with-hybsim-base=' + install_basedir 
+ '/%(branch)s/rev%(revision)s')
               ],
     haltOnFailure = True
)

Unfortunately, this fails with the following uncomprehensible error:

2007/06/05 08:41 +0200 [Broker,client]  startCommand:shell [id 50]
2007/06/05 08:41 +0200 [Broker,client] SlaveBuilder.commandFailed 
<buildbot.slave.commands.SlaveShellCommand instance at 0xb7a6566c>
2007/06/05 08:41 +0200 [Broker,client] Unhandled Error
         Traceback (most recent call last):
           File "/usr/lib/python2.3/site-packages/twisted/spread/pb.py", line 
847, in _recvMessage
             netResult = object.remoteMessageReceived(self, message, netArgs, 
netKw)
           File "/usr/lib/python2.3/site-packages/twisted/spread/flavors.py", 
line 119, in remoteMessageReceived
             state = method(*args, **kw)
           File "/usr/lib/python2.3/site-packages/buildbot/slave/bot.py", line 
169, in remote_startCommand
             d = self.command.doStart()
           File "/usr/lib/python2.3/site-packages/buildbot/slave/commands.py", 
line 616, in doStart
             d = defer.maybeDeferred(self.start)
         --- <exception caught here> ---
           File "/usr/lib/python2.3/site-packages/twisted/internet/defer.py", 
line 107, in maybeDeferred
             result = f(*args, **kw)
           File "/usr/lib/python2.3/site-packages/buildbot/slave/commands.py", 
line 952, in start
             workdir = os.path.join(self.builder.basedir, args['workdir'])
           File "/usr/lib/python2.3/posixpath.py", line 60, in join
             if b.startswith('/'):
         exceptions.AttributeError: Unpersistable instance has no attribute 
'startswith'

Is there some body that knows an alternative way to get this working?

Albert




More information about the devel mailing list