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

Reply via email to