[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