[Buildbot-devel] No build button + problem with addStep and workdir

Tanguy Krotoff tkrotoff at gmail.com
Fri Mar 27 15:33:44 UTC 2009


Thx for your quick reply.

I finally managed to solve most of my problems.

** Build button
c['status'].append(html.WebStatus(http_port=8010, allowForce=True))

I would suggest to the buildbot devs to set allowForce=True by default
inside master.cfg.sample
It makes sense since a new user will use master.cfg.sample and of
course will want to test his buildslaves using the build button (and
then when everything is ready, turn it off).
I was also confused by the buildbot manual since it says something
like "well you can use the build button to force blabla" without
saying at the same place that you need allowForce=True. A simple
reference to allowForce will probably save time to other newbies like
me.

** ShellCommand workdir
A good way to test workdir is to simply use the command pwd
and then you discover that workdir is already set to "build"!
f1.addStep(ShellCommand(command="pwd"))
is 100% equivalent to
f1.addStep(ShellCommand(command="pwd", workdir="build"))
So I had to write
f1.addStep(Configure(command=["./build_make-debug.sh"],
workdir="build/build")) for my configure step to work

** For the waterfall page look
I found this: http://thread.gmane.org/gmane.comp.python.buildbot.devel/981/focus=982
Why not make it default? First I though that my buildbot ubuntu
package got a problem...


On Fri, Mar 27, 2009 at 3:47 PM, Ian Peters-Campbell
<mahatmamanic at gmail.com> wrote:
> So I assume you set the build directory for your build to be
> build-linux/build?  What happens is that when you do the svn checkout, it
> creates another subdirectory under that also called build/
>
> You should be able to get around the problem by either listing the build
> directory as build-linux or by setting your workdir to
> build-linux/build/build  Also make sure that build-linux/build exists in the
> builds directory from the buildmaster's install directory.
>
> Finally, regarding a force build button, there's an optional parameter when
> you are instantiating the web server to allow builds to be forced.  When you
> instantiate your web status include the parameter allowForce = True.  Keep
> in mind that even once that is active you will still have to manually enter
> the branch you want to build on.  A solution that worked better for me was
> to set up some of the IRC bots for my various builders and allow builds to
> be forced through them.
>
> I hope that helps, if I am misunderstanding your question let me know and I
> would be happy to try and help :)
>
> Ian
>
>
>
>
> On Fri, Mar 27, 2009 at 6:46 AM, Tanguy Krotoff <tkrotoff at gmail.com> wrote:
>>
>> Hello
>>
>> I'm a newbie here and I have newbie problems :)
>>
>> I have installed Buildbot 0.7.9 through the Ubuntu 8.10 package.
>>
>>
>> ** First problem
>> My waterfall page looks quite "ugly"/simple compare to
>> http://buildbot.buildbot.net/waterfall and I don't have the "Force
>> Build" and "Ping Builder" buttons like explained inside the Buildbot
>> manual and showed here:
>> http://buildbot.buildbot.net/builders/tw810-py2.5
>>
>> Without the "Force Build" button, it's pretty difficult to test my
>> buildslaves :/
>> Any idea why I don't have these buttons?
>>
>>
>> ** Second problem
>> My program build system steps are:
>> - svn co http://phonon-vlc-mplayer.googlecode.com/svn/trunk
>> - cd build
>> - ./build_make-debug.sh
>> - make
>> - make install
>>
>> As you see, I use CMake and the "make" command should not be done at
>> the root directory but inside a special directory simply named "build"
>>
>> I try to reproduce these steps inside my master.cfg (master.cfg.sample
>> given with buildbot and modified for my needs):
>> from buildbot.process import factory
>> from buildbot.steps.source import SVN
>> from buildbot.steps.shell import Configure, Compile, ShellCommand
>> f1 = factory.BuildFactory()
>>
>> f1.addStep(SVN(svnurl="http://phonon-vlc-mplayer.googlecode.com/svn/trunk/"))
>> f1.addStep(Configure(command=["./build_make-debug.sh"], workdir="build"))
>> f1.addStep(Compile(command=["make", "install"], workdir="build"))
>>
>> But I get this output:
>> configure failed stdio
>>
>> ./build_make-debug.sh
>> in dir /home/buildslave/buildbot/build-linux/build (timeout 1200 secs)
>>
>> ---> should be /home/buildslave/buildbot/build-linux/build/build
>>
>> watching logfiles {}
>> argv: ['./build_make-debug.sh']
>> environment:
>>  [...]
>>  HOME=/home/buildslave
>>  PWD=/home/buildslave
>>
>> ---> here current directory should be
>> /home/buildslave/buildbot/build-linux/build/build??
>>
>>  USER=buildslave
>>  [...]
>> Upon execvpe ./build_make-debug.sh ['./build_make-debug.sh'] in
>> environment id 3077639268
>> :Traceback (most recent call last):
>>  File "/usr/lib/python2.5/site-packages/twisted/internet/process.py",
>> line 394, in _fork
>>    executable, args, environment)
>>  File "/usr/lib/python2.5/site-packages/twisted/internet/process.py",
>> line 440, in _execChild
>>    os.execvpe(executable, args, environment)
>>  File "/usr/lib/python2.5/os.py", line 363, in execvpe
>>    _execvpe(file, args, env)
>>  File "/usr/lib/python2.5/os.py", line 378, in _execvpe
>>    func(file, *argrest)
>> OSError: [Errno 2] No such file or directory
>> program finished with exit code 1
>>
>>
>> Thanks for your time.
>> Regards,
>>
>> --
>> Tanguy Krotoff <tkrotoff at gmail.com>
>> +33 6 68 42 70 24
>>
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> Buildbot-devel mailing list
>> Buildbot-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/buildbot-devel
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Buildbot-devel mailing list
> Buildbot-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/buildbot-devel
>
>



-- 
Tanguy Krotoff <tkrotoff at gmail.com>
+33 6 68 42 70 24




More information about the devel mailing list