-
Bug
-
Resolution: Won't Fix
-
Major
-
None
-
Platform: All, OS: All
We build on multiple platforms and have our builds set up so that everything
first builds/tests on our Windows box and, once that's successful, then builds
are kicked off on all of our other platforms. The build/test cycle takes close
to an hour. This works great, except there is a flaw (or lack of a feature) in
how Hudson does the checkout for the child project. Here's what happens:
Our parent project checks out with the following update string:
[MODULE] $ cvs -q -z3 update -PdC -D "Monday, December 1, 2008 8:40:54 PM UTC"
Once that passes, it kicks off a child build, having an update string like:
[MODULE] $ cvs -q -z3 update -PdC -D "Monday, December 1, 2008 9:45:54 PM UTC"
The problem we're having is that, if someone checked something in after the
parent update but before the child process updated, then the child process will
pick up these new updates. This means that the child build is not exactly the
same as the parent build, which then leads to a lot of emails if someone checked
in something that breaks our build/tests. It also leads to confusion since
developers believe that the child builds only occur when we have a stable parent
build.
I believe that you should be able to configure the child builds to update using
the same time as the parent build. So, in the example above, both child and
parent process should have the same CVS update string.