[Buildbot-devel] Multiple git steps and dependencies with different projects in a build

Kay Hayen kay.hayen at gmail.com
Tue Jun 10 11:13:45 UTC 2014


Hello Jared,

you wrote:


2014-06-10 5:28 GMT+02:00 Jared Grubb <jared.grubb at gmail.com>:

> Yes, 'workdir' is what you want, and this is the set of params I use:
>
>                Git(codebase="Foo",
>                           workdir="Foo",
>                           repourl="....",
>                           mode='full',
>                           method='fresh',
>                           progress=True,
>                           branch='master')
>
> It does look like 'copy' wont let you do multiple codebases, and that is a
> bug in my opinion. Mind filing a Trac for that?
>

Yeah, the code hard codes "source" in the base class in that mode,  I
suspect that is not easy to fix, or else that branch
wouldn't exist.

What came up with, is that I am using submodules now. I got two major use
cases.

One is the web site, and updating some of the pages, based on release
updates. I made a triggerable builder,
which is executed, when the release has uploaded new files. The code that
scans for it, got moved into the
site repository, and is executed from there, updating, and automatically
commits changes, and pushes them.

Then, when that content changes, it triggers another builder, which uses
the "nikola" software which is
a submodule of the web site, and updates the output directory, which is
another submodule. Again, this
is automatically committing and pushing.

When it comes to performance data web site, another git, it also gains
Nikola software as a submodule,
and here it pays to do so, as often they will be different versions. I
cannot rebase to latest developments
for all subsites all the time. This is how to track it. The benchmarked
Nuitka software, gets added as
submodules as well, with different branches. Scripts will then update the
submodules and commit that,
and run benchmarks, and store data in files, commit them also, render
graphs, and generate pages
and commit them too.

That way, always only ever one git is used, albeit with submodules. Also,
code lives in repos that normally
were supposed to have data only.

What's important to me, is that I don't want to have to upload artifacts to
another place for other stuff
to work on it, so this doesn't break down, just because I am offline.

Yours,
Kay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20140610/a0afae76/attachment.html>


More information about the devel mailing list