[Buildbot-devel] Some questions/problems running latest buildbot source on Windows

Elliot Murphy elliot.murphy at veritas.com
Thu Nov 4 21:24:05 UTC 2004

Hello All,
I'm currently making extensive use of SCons while building some C/C++
components to run on multiple platforms. I'm looking to get some continuous
integration set up, and possibly replace my hand-rolled python scripts which
do nightly builds. Since we're already using python extensively in our build
processes, and because the buildbot architecture looks very promising (even
though it seems much less polished than some of the other CI tools), I'm
trying to get a buildbot prototype working for my project. Buildbot looks
really cool, so please excuse my unfamiliarity while I'm trying to get
acquainted with it and reporting a few problems.

For my first try, I'm running on a Windows XP laptop, with ActiveState
Python 2.3.3. After checking out the latest buildbot source from CVS on
sourceforge, I tried installing and running, and hit a few issues.

The first thing I tried to do was install buildbot using setup.py, add a
wrapper buildbot.cmd script to my python scripts directory, and run
"buildbot master test_master". This exposed two problems:

1 - buildbot/scripts/runner.py has some platform specific copy commands in
the createMaster() function that won't work on Windows. Replacing the
os.system() calls to "cp" with calls to shutil.copy() fixed this.

2 - The createMaster() function attempts to install "sample.mk" into the new
master directory, but fails because it could not find the source file. This
happens because setup.py is installing the sample.cfg file into the
site-packages\buildbot directory, but not sample.mk. Changing setup.py to
also install sample.mk fixed this problem.

A couple of other things that I've noticed so far:

- It would be nice if setup.py added "contrib/windows/buildbot.bat" to the
list of scripts to be installed when sys.platform == 'win32'

- contrib./windows/buildbot.bat should have an @ sign prefixing the python
command (this is similar to echo off)

- buildbot/test/test_maildir.py MailDirTest.deliverMail() has a call to cp
via os.system that should be replaced with shutil.copy()

- Running "buildbot master", then "buildbot start" gives me a running
script, and I can access the web server in that script, but the process is
not put into the background.

- Once the buildbot master is running, switching to another console and
running buildbot stop doesn't work. It prints out "kill  `cat twistd.pid`".
I don't see any file named twistd.pid (probably a side effect of the
non-forking behavior in buildbot start.

I've also attempted to run the unit tests, and after making the changes I've
described already, I get 7 failures, 13 errors, and 11 skips (I've not
downloaded the VC repository packages). Would it be useful for me to post
some logs from the failed tests?

Most of the things I've found so far seem really trivial to fix. If you
don't intend to support running buildbot masters on Windows, let me know and
I'll focus instead on running the master from a Linux box and switch over to
trying to get a slave working on Windows.

Many thanks for such an interesting tool.

More information about the devel mailing list