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/
