On Sun, Nov 28, 2010 at 2:30 PM, ant elder <[email protected]> wrote:
> I've spent a bit of time on this now and talked to the Hudson build
> people, still don't yet have a very perfect approach.
>
> The problems are that the Tuscany build takes ages and so often times
> out or it quite often fails due to some transient issue, perhaps the
> running so long is making it more susceptible to those transient
> issues. As there is just one monolithic build run any problem causes
> it all to fail so we don't get the snapshot jars or distributions
> published, and also may not get to see anything thats been broken by a
> change.
>
> One of the reasons it takes so long is that there is a problem with
> Hudson and/or the ASF Hudson set up which makes the archiving between
> the Hudson salves and master really slow, eg it can take many hours to
> archive the tuscany distributions as they're so big, but even some of
> the other big jars can be quite slow too.
>
> There is a way to disable the archiving which makes it a lot faster
> but then it doesn't keep the last successful build (which we use for
> the nightly distro downloads on the website) or publish the snapshots
> after a successful build. With the Hudson archiving disabled the build
> could do a deploy during the build run (ie mvn deploy instead of mvn
> install) but then if there is a failure somewhere it could be
> deploying something incomplete or broken.
>
> It seems like there should be some way to get it working better by
> splitting it up into multiple Hudson jobs which depend on each other,
> but i haven't yet found an approach that works very well or isn't
> really complicated or slow. I'll keep playing around but if anyone
> else has any suggestions then please do chime in.
>
>   ...ant
>

I still think that we SHOULD NOT deploy SNAPSHOT if the build didn't
pass the tests.

As for the archive, I don't think we need them anymore, and we can
link the nightly build directly to the "published distribution" from
the snapshot repository [1].

How about we leave the existent 2.x build as a full top down build,
with tests and only deploy if the build/tests are successful. In the
meantime, we can explore a partitioned build in parallel, something
like:

tuscany-2.x-runtime (modules, features, and some more stuff)
tuscany-itests
tuscany-compliance-test
...
deploy


Thoughts ?

[1] 
http://repository.apache.org/snapshots/org/apache/tuscany/sca/tuscany-distribution-all/2.0-SNAPSHOT/




-- 
Luciano Resende
http://people.apache.org/~lresende
http://twitter.com/lresende1975
http://lresende.blogspot.com/

Reply via email to