On Fri, Sep 17, 2004 at 08:02:33AM +0200, Kristian K�hler wrote:
> Hi
>
> is there any plan to use the same script on all boxes?
> I suggest to use cruisecontrol (http://cruisecontrol.sourceforge.net/).
> The "old" Windows2000 tests run with it.
>
> Cruisecontrol itself is a java program triggering a checkout and rebuild
> of the project. It is configured via xml files. So the same xml config
> could be used on all boxes. The results will look the same in all cases
> ;-) Cruisecontrol also supports publishing of the build result as HTML
> files which could be published on the geronimo site (might be more
> convenient then email). Only failure mails with a link to the published
> results could be sent to the mailinglist.
>
> Currently I'm testing the new config for the Windows2000 build with
> subversion. I could post the config if this is an option.
>
I took a look at cruisecontrol and the plugin side of it looks
promising. We don't do a vanilla nightly build, so it would be a fair
amount of work to reproduce things in a combination of cruisecontrol
and maven plugins. It could probably be done if you have the time.
Here is what I have in the current rev of my nightly build script,
which has yet to be hooked up.
BUILD-AND-TEST
checkout head/trunk from cvs/svn
build, ignoring test failures, pipe output to file
grep file for failed tests
create xml of results and sys info
pipe the xml over ssh into a file central server
publish snapshot jars if test passed
PUBLISH-RESULTS (once per night from central server)
run xslt stylesheet on central xml file
email output to scm list
cat the central file into a file of all previous results
empty cental file "cat /dev/null > central_file"
NIGHTLY-RELEASE (run if build/test passed)
checkout current date (cvs) or current rev (svn)
(using 48765 as example svn rev for explanation)
munge the etc/version-info.ent to 1.0-48765
zip geronimo-1.0-48765 dir into geronimo-1.0-48765-src.zip
again for tar
build with no tests
zip modules/assembly/target/geronimo-1.0-48765 dir into
geronimo-1.0-48765.zip
again for tar
create MD5 files for src/bin tars and zips with openssl
again but with SHA instead of MD5
create 1.0-48765 dir on nightly release server using ssh
copy tar.gz, zip, md5, and sha files into 1.0-48765 using scp
publish jars to remote maven repo
OFFICIAL-RELEASE
(same as nightly release with the following differences)
version will be 1.0-M3 rather than date or svn rev
munged etc/version-info.ent is checked in
cvs/svn tag is created with v1_0_M3 as tag name
tag is checked out from cvs/svn
(tar/zip src, maven build, tar/zip binary -- same as before)
create pgp signatures for tars/zips in addition to md5 and sha
(create dir on release server, copy archives, publish maven jars)
Anyway, if we can move all that over into any combination of
cruisecontrol plugins/maven plugins/groovy, that would be ok with me.
Would be incredible actually.
If you are interested in moving us that direction, I can send you the
existing scripts/stylesheets.
-David