Brian Warner | 4 Jan 2006 09:30
Favicon
Gravatar

[Python-Dev] buildbot

> Currently, branches are not supported, because buildbot is
> somewhat limited. When I get a solution for this problem,
> I plan to have all buildbots build both the trunk and the
> 2.4 branch; such builds would only be initiated whenever
> something is committed on the branch.

Branch support appeared fairly recently (buildbot-0.7.0, about two months
ago), and I believe it should be sufficient to trigger builds for both the
trunk and the 2.4 branch. The last part of the setup involves modifying the
svn_buildbot.py hook script, though, so I won't claim this support is
complete yet.

The basic idea is that you create multiple Scheduler instances, one for each
branch you want to monitor. Both Schedulers are configured to trigger all the
Builders. You configure the SVN-checkout step of the build process with a
baseURL= argument to provide the common portion of the SVN URL, and add a
defaultBranch= argument to point to the trunk. Each Build is done for a
specific branch, and the SVN checkout step just appends the branch name to
the baseURL to figure out what to pass to 'svn co %s'

Assuming the ChangeSource is providing branch information properly, this will
result in any change to the trunk causing a trunk build, and any change to
the 2.4 branch causing a 2.4 build.

Your master.cfg file will probably want to have some of the following
elements:

---BEGIN---
from buildbot.changes.pb import PBChangeSource
c['sources'] = PBChangeSource() # N.B.: don't set prefix=
(Continue reading)

Dobes Vandermeer | 4 Jan 2006 23:49
Picon
Gravatar

Stack trace when using PBListener and Dependent scheduler

I'm getting this error:

          File "Z:\Tools\PythonLibs\Python24\twisted\spread\banana.py",
line 114, in gotItem
            self.callExpressionReceived(item)
          File "Z:\Tools\PythonLibs\Python24\twisted\spread\banana.py",
line 81, in callExpressionReceived
            self.expressionReceived(obj)
          File "Z:\Tools\PythonLibs\Python24\twisted\spread\pb.py",
line 561, in expressionReceived
            method(*sexp[1:])
          File "Z:\Tools\PythonLibs\Python24\twisted\spread\pb.py",
line 872, in proto_message
            self._recvMessage(self.localObjectForID, requestID,
objectID, message, answerRequired, netArgs, netKw)
        --- <exception caught here> ---
          File "Z:\Tools\PythonLibs\Python24\twisted\spread\pb.py",
line 886, in _recvMessage
            netResult = object.remoteMessageReceived(self, message,
netArgs, netKw)
          File "Z:\Tools\PythonLibs\Python24\twisted\spread\pb.py",
line 241, in perspectiveMessageReceived
            state = method(*args, **kw)
          File "Z:\Tools\PythonLibs\buildbot\changes\pb.py", line 48,
in perspective_addChange
            self.changemaster.addChange(change)
          File "Z:\Tools\PythonLibs\buildbot\changes\changes.py", line
207, in addChange
            self.parent.addChange(change)
          File "Z:\Tools\PythonLibs\buildbot\master.py", line 1008, in addChange
(Continue reading)

Brian Warner | 5 Jan 2006 01:18
Favicon

Re: Stack trace when using PBListener and Dependent scheduler

> I'm getting this error:

> File "Z:\Tools\PythonLibs\buildbot\master.py", line 1008, in addChange
>  s.addChange(change)
> exceptions.AttributeError: Dependent instance has no attribute 'addChange'

I think this one is fixed in CVS: I added a dummy addChange() method to the
BaseScheduler class.

I discovered a worse bug in Schedulers a few days ago. 0.7.1 has an ugly bug
such that *any* time you reload the config file, any Scheduler that you
didn't change gets half-removed from the buildmaster. The resulting
half-attached Scheduler is given changes, so it calls
self.parent.submitBuildSet(), but it has no .parent . This results in a
different exception. This one has been fixed in CVS too.

I'll probably try to get a new release out next week to include both of these
fixes, since both bugs are pretty annoying.

cheers,
 -Brian

-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
Trent Mick | 5 Jan 2006 03:28
Picon

Re: buildbot

[Brian Warner wrote]
>...
> The only lingering issues are with status delivery: the main HTML
> "Waterfall" HTML will interleave builds of both branches on the same
> page, which could be a bit confusing (if the top line is red, does
> that mean the trunk is broken, or the 2.4 branch?). 

Or for separate logic projects being built with the same builtbot
master. For example, say Python's buildbot wanted to do regular builds
and tests of the distutils tree
(http://svn.python.org/view/distutils/trunk/).

> Fixing this (by creating separate pages for each branch) is high on
> the TODO list.

I'm keen to help with that if I can. I'm now subscribed to
buildbot-devel (as trentm at gmail) so I can pester you about that there
further.

Cheers,
Trent

--

-- 
Trent Mick
trentm <at> activestate.com
_______________________________________________
Python-Dev mailing list
Python-Dev <at> python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/python-python-dev%40m.gmane.org
(Continue reading)

Trent Mick | 5 Jan 2006 03:28
Picon
Gravatar

unable to "cvs login" to buildbot's CVS

Brian,

I am unable to 'cvs login' to the anonymous buildbot CVS. Do you know
why that might be?

$ cvs
-d:pserver:anonymous@...:/cvsroot/buildbot login
Logging in to :pserver:anonymous@...:2401/cvsroot/buildbot
CVS password:
cvs login: authorization failed: server cvs.sourceforge.net rejected
access to /cvsroot/buildbot for user anonymous

I can login to other anonymous CVS repos on SF:

$ cvs -d:pserver:anonymous@...:/cvsroot/python login
Logging in to :pserver:anonymous@...:2401/cvsroot/python
CVS password:
$ cvs -d:pserver:anonymous@...:/cvsroot/tcl login
Logging in to :pserver:anonymous@...:2401/cvsroot/tcl
CVS password:
$

Thanks,
Trent

--
Trent Mick
trentm@...

-------------------------------------------------------
(Continue reading)

Trent Mick | 5 Jan 2006 03:35
Picon

Re: buildbot

[Trent Mick wrote]
> Or for separate logic projects being built with the same builtbot

s/logic/logical/


Trent

--

-- 
Trent Mick
trentm <at> activestate.com
_______________________________________________
Python-Dev mailing list
Python-Dev <at> python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/python-python-dev%40m.gmane.org

Julien Gilli | 5 Jan 2006 10:24
Picon

Re: Stack trace when using PBListener and Dependent scheduler

Hello,

Brian Warner a écrit :

>I discovered a worse bug in Schedulers a few days ago. 0.7.1 has an ugly bug
>such that *any* time you reload the config file, any Scheduler that you
>didn't change gets half-removed from the buildmaster. The resulting
>half-attached Scheduler is given changes, so it calls
>self.parent.submitBuildSet(), but it has no .parent . This results in a
>different exception. This one has been fixed in CVS too.
>  
>
Is this stack trace related to the bug you mention above? :

2006/01/04 17:57 CET [-] Traceback (most recent call last):
          File 
"/usr/lib/python2.3/site-packages/twisted/scripts/twistd.py", line 187, 
in runApp
            app.runReactorWithLogging(config, oldstdout, oldstderr)
          File 
"/usr/lib/python2.3/site-packages/twisted/application/app.py", line 128, 
in runReactorWithLogging
            reactor.run()
          File 
"/usr/lib/python2.3/site-packages/twisted/internet/posixbase.py", line 
199, in run
            self.mainLoop()
          File 
"/usr/lib/python2.3/site-packages/twisted/internet/posixbase.py", line 
207, in mainLoop
(Continue reading)

Brian Warner | 5 Jan 2006 19:05
Favicon

Re: unable to "cvs login" to buildbot's CVS

> I am unable to 'cvs login' to the anonymous buildbot CVS. Do you know
> why that might be?

Weird. I had the same problem last night, and couldn't figure it out. (I
assume that whatever machine the buildbot's repository is hosted on was
having problems, but I didn't happen to find another project to which this
was occurring).

Whatever the problem was, it seems to be resolved now. I was just able to do
a 'login' and update a tree from CVS.

cheers,
 -Brian

-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
Stefan Seefeld | 5 Jan 2006 19:25
Picon
Favicon

Re: unable to "cvs login" to buildbot's CVS

Brian Warner wrote:
>>I am unable to 'cvs login' to the anonymous buildbot CVS. Do you know
>>why that might be?
> 
> 
> Weird. I had the same problem last night, and couldn't figure it out. (I
> assume that whatever machine the buildbot's repository is hosted on was
> having problems, but I didn't happen to find another project to which this
> was occurring).

I think you are right. A similar problem was reported yesterday on the boost
list (which hosts its repository on sf.net).

FWIW,
		Stefan

-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
Trent Mick | 5 Jan 2006 20:07
Picon
Gravatar

Re: unable to "cvs login" to buildbot's CVS

> Whatever the problem was, it seems to be resolved now. I was just able to do
> a 'login' and update a tree from CVS.

Yup, it is working for me today.

Cheers,
Trent

--
Trent Mick
trentm@...

-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37&alloc_id865&op=click

Gmane