[Buildbot-devel] 'try' for multiple repos

Marc-Antoine Ruel maruel at chromium.org
Thu Apr 8 13:48:53 UTC 2010


Le 8 avril 2010 03:55, Benoît Allard <benoit at aeteurope.nl> a écrit :

> Marc-Antoine Ruel wrote:
>
>>
>> 2010/4/7 Uma Sridharan <uma285 at gmail.com <mailto:uma285 at gmail.com>>
>>
>>
>>    On Wed, Apr 7, 2010 at 2:08 PM, Marc-Antoine Ruel
>>    <maruel at chromium.org <mailto:maruel at chromium.org>> wrote:
>>
>>        Le 7 avril 2010 14:00, Uma Sridharan <uma285 at gmail.com
>>        <mailto:uma285 at gmail.com>> a écrit :
>>
>>
>>            2010/4/7 Benoît Allard <benoit at aeteurope.nl
>>            <mailto:benoit at aeteurope.nl>>
>>
>>
>>                Uma Sridharan wrote:
>>
>>                    Hi all,
>>                     I am trying to setup Buildbot for android builds
>>                    that deals with multiple repositories. Could anyone
>>                    tell me if there exists a way by which I can use
>>                    'try' command to capture changes in multiple
>>                    repositories? Right now it works fine if I made
>>                    changes to a single repository and called the 'try'
>>                    command.
>>
>>
>>                The quick answer is that buildbot has no support yet for
>>                multiple repositories inside one project. There are way
>>                to make it works, but you already found a corner case,
>>                and some more are to be found I guess.
>>
>>                This is for sure a planned improvement.
>>
>>                Regards,
>>                Benoit
>>
>>
>>            It still seems to be alright to build a repo SCM extension
>>            and use it instead of git. But it looks harder to extend
>>            'try' to gather patches from these multiple repositories.
>>
>>
>>        We use a 3-steps update mechanism for gclient-based try:
>>
>>        1) Sync to specified master revision/hash
>>        2) Apply the patch
>>        3) Sync again in case a DEPS file has been modified, the
>>        equivalent of repo's manifest.
>>
>>        It works fine.
>>
>>    How do you get the patch information for every repository and pass
>>    it on to the master using the existing 'try'? Try works well with
>>    one repository.
>>
>> The tool generates one big patch file from the various checkouts.
>>
>
> So if I get it correctly, for buildbot it looks like there is only one big
> repository, and then, the VCS substitute you use cares about gathering the
> right repositories in the right state ?
>

Yes.



> I didn't knew such a solution exists, doesn't looks too bad. It's maybe an
> option to implement such something as a Source step inside buildbot. I need
> to think about it.
>

That was the only way to do it AFAIK.

Here's our implementation:

http://src.chromium.org/viewvc/chrome/trunk/tools/buildbot/scripts/slave/chromium_commands.py?view=markup
http://src.chromium.org/viewvc/chrome/trunk/tools/buildbot/scripts/master/chromium_step.py?view=markup

M-A
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20100408/d17be2a3/attachment.html>


More information about the devel mailing list