continuum-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marica Tan <c...@exist.com>
Subject Re: In distributed build, how does Continuum decide whether there have been scm changes?
Date Fri, 23 Jan 2009 02:07:26 GMT
On Tue, Jan 20, 2009 at 9:15 AM, Wendy Smoak <wsmoak@gmail.com> wrote:

> I'm trying to understand how, if a project may build on any agent,
> Continuum can determine whether there have been scm changes since the
> last time it was built.  Here's what I think should happen (scheduled
> builds, assuming Always Build and Build Fresh are NOT checked):
>
> Add project
> 1:00pm Build on agent 1, checkout at r500
> 2:00pm Build on agent 2, checkout at r500 <--- no changes, project
> should not build
> 2:15pm developer makes scm changes
> 3:00pm Build on agent 2 update to r501, build because there were changes
> 4:00pm Build on agent 1 update to r501 <---- no changes, project
> should not build
>

This is possible, but IMO the master needs to keep track of the revisions so
that when agent 1 tries to build project @ 4:00pm it will only update the
working copy but it won't build the project.

Our initial plan is to have a dumb build agent so all it knows is how to
build. When it's a scheduled build, it will always build regardless if there
is or there isn't any change at all. We can add the check for whether it
should build or not in the next pass.


> But I'm not sure how Continuum makes its determination of whether
> there have been changes, (even without Distributed Build.)
>

It first updates the working copy and then set the project's scm result
(with scm changes). Project has a one to one relationship with ScmResult.
Everytime you update the working copy, it merges the new scm changes with
the old scm changes unless it says build fresh.

Currently, no scm changes is returned to the master in a distributed build
and I'll be working on that next.


> This is a bit of a pain to set up and test for, so I'm hoping someone
> will reassure me that it will all work fine. :)
>
> --
> Wendy
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message