Hi All,

Here is an interesting problem.

I have 4 projects configured and chained as follows:

   Platform1-Dbg --> Platform1-Release --> Platform2-Dbg --> Platform2-
Release --> DONE

Each project uses the same code base, but builds a different
configuration. The idea being that we are validating all supported
configurations for any changes to the code base.

They are configured as separate projects because each configuration
should maintain its own reports plus it is easier to tell which
configuration is failing.

If any stage of the project chain fails to build, then a build failed
email is generated for that project and the chain stops at that
point.

NOW for what I though was the clever bit!

Because each project is basically building the same code base, I
configured the chain so that Platform1-Dbg monitors the SCM and only
triggers IfModifications are detected. All other projects share the
same working directory as Platform1-Dbg and are triggered via a
project trigger. If the previous project in the chain is successful
then build. We don't need to re-get the source because we already have
it thus saving time!

Have your spotted the problem?

We'll, this relates back to an issue I brought up long ago. Because
each project is free running on an interval trigger the order in which
they appear in the build queue is not guaranteed.

Thus you can get...

Platform1-Dbg --> Platform1-Release
Platform1-Dbg
Platform2-Dbg
Platform1-Release
Platform2-Release --> DONE
Platform2-Dbg --> Platform2-Release --> DONE

and many other nasty combinations :(

Is there anyway to guarantee build order?

Cheers,
Shaun


Reply via email to