[Buildbot-devel] buildbot Version Control when a single buildbot builder needs multiple Git repositories

Tony Wallace anthonylee.wallace at gmail.com
Wed Aug 25 22:42:02 UTC 2010


Recently launched a new buildbot, in which the build process uses four
different Git repositories at the same time, and all those Git repositories
can take source changes (commits) at any time.

Right now this buildbot runs builds in which a ShellCommand buildstep checks
out the project source using Linux commands:

      repo init -u "git://ours/manifest.git"

      repo sync

The above repo commands could be replaced with the equivalent git commands:

      git clone "git://ours/thing-one"

      git clone "git://ours/thing-two"

      git clone "git://ours/thing-three"

      git clone "git://ours/thing-four"

Unfortunately, this buildbot knows nothing about which source version it is
getting. There's no way to tell what the last source change was, who changed
it, and no way to exactly re-run an existing build.

Later, I tried replacing that ShellCommand buildstep with four separate Git
buildsteps, like this:






      # and so on, for all four Git repositories

This seemed to work at first- when I triggered a new build on-demand or from
the periodic build scheduler, the source got checked-out and the build
process worked.  However, when I tried to re-run one of those builds, the
first Git step failed; and I believe it was because the FIRST Git buildstep
was trying to look up a commit object from the FOURTH Git repository, which
the buildbot remembered from the original build.

A. What is an economical way to re-configure this buildbot so we can exactly
re-run a previous build?  This means:

1. The buildbot can re-run a previous build, and get exactly the same source
from all Git repositories as the original build.

2. The buildbot can display all info a developer would need to get exactly
the same source into their own workspace.

B. Ideally, how can we take advantage of all the other VC-related features
in buildbot?  This includes change sources and blame lists, continuous
builds, building from any arbitrary branch without setting up
dedicated branch builder, and so on.

Thanks in advance.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20100825/dd812aac/attachment.html>

More information about the devel mailing list