[Buildbot-devel] Triggers receiving wrong branch info

Michael Rubinsky hamogram at yahoo.com
Wed May 20 22:22:10 UTC 2009


René Müller wrote:
> Michael Rubinsky schrieb:
>> I setup our buildbot to use triggers to setup dependencies for 
>> particular builds.  I have a SVN repository that contains all my 
>> projects.  I'm using svn_buildbot.py to trigger my builds via svn 
>> commits.  The problem is, that when Build A Triggers Build B, Build B is 
>> getting the branch / path information from Build A, which in turn either 
>> pulls down the wrong repository or sends an invalid branch.
>>
>> [snip]
> 
> I had the same problem and solved it like this:
> 
> Repo-Layout:
> 
> Project1/trunk
> Project1/branch
> Project1/releases
> Project2/trunk
> Project2/branch
> Project2/releases
> 
> --------------------
> svn_source = SVNPoller("https://my.repo/data/svn/Project1",\
>                        svnuser=const_svnuser, svnpasswd=const_svnpasswd,\
>                        split_file=my_split_file,\
>                        pollinterval=const_pollinterval)
> c['change_source'].append(svn_source)
> 
> sch_Project1 = RepositoryScheduler(name="Project1",
>                                    branches=None,
>                                    treeStableTimer=defaultTreeStableTime,
>                                    builderNames=["Project1"])
> c['schedulers'].append(sch_Project1)
> 
> sch_Project2_trig = Triggerable(name="Project2_trig",\
>                                 builderNames=["Project2"])
> c['schedulers'].append(sch_Project2_trig)
> 
> --------------------
> in builder Project1:
> 
> stepList.append(Trigger(schedulerNames=["Project2_trig"], waitForFinish=True, updateSourceStamp=False))
> 
> --------------------
> This works fine for me, if every branch that exists in Project1 is present in Project2 and you don't use the try scheduler. This fails, because it tries to apply the patch on both projects. I think
> the important part is "updateSourceStamp" in the trigger step.
> 
The sourcestamp is ok, I don't mind that they all build off the same 
revision.  The problem is with the branches.

The problem I have is that the different projects have totally 
independent branches.  Project1 could have say:
svn://repo/Project1/branches/0.1
svn://repo/Project1/branches/0.2
svn://repo/Project1/branches/0.3
Project 2 could have:
svn://repo/Project1/branches/1.2
svn://repo/Project1/branches/3.2

Most of the 'dependent' projects are independent libraries that are 
linked into other bigger projects, hence why the versioning is different.

Cheers,
Michael

> 
> Cheers,
> René
> 
> 





More information about the devel mailing list