[kepler-dev] Continuous Integration System

Matthew Brooke brooke at nceas.ucsb.edu
Thu May 25 14:29:28 PDT 2006


Hi all -

As a parting gift, I have set up a continuous integration system on a 
dedicated build server for your delectation and delight...

The system is based on CruiseControl - 
http://cruisecontrol.sourceforge.net - and is set up to do 2 tasks:


1) Continuous Integration:

Checks the ptolemy and kepler CVS repositories every 10 minutes for 
check-ins. If changes are detected, it does a clean build of ptolemy and 
kepler, and runs the JUnit tests and the workflow tests (ant targets: 
"full-clean ptolemy buildkarlib jar test test_workflows").

(** Side note - I created a new ant target in build.xml - 
"test_workflows" - which uses JUnit to automatically test all the 
workflows that are listed in "kepler/lib/test-workflows.lst" - this 
target might also be useful to actor/test-workflow creators)

If the build becomes broken, the system will attempt to send out 
notification emails to kepler-dev and to the people who have checked in 
changes since the last successful build. It will continue to send out 
emails until the build is fixed.  When the build has been fixed, those 
same recipients will receive notification emails - after which there 
should be no more emails until the build is broken again.


2) Nightly Build

Builds at 11:59pm every day, and sends out an email to the 
kepler-nightly mailing list (whether the nightly build was successful or 
not). The nightly build is a little different, in that is adds the 
"generateDoc" and "buildkeplerzip" ant targets (so it is possible that 
the nightly could be broken while the continuous integration build is 
not). If the nightly build is broken for any reason, notification is 
also sent to kepler-dev.



Web Log and Emails:

The notification emails are sent out in HTML format, and contain the 
full output of the build. They also contain a link to the status 
web-page on the build server:

http://chert.msi.ucsb.edu:8080/

Note that the "Build" buttons on this page will currently work only for 
people at MSI (IP addresses like 128.11.242.x), but everyone should be 
able to click on the "kepler-nightly-build" and 
"kepler-continuous-integration" links and see the latest build log and 
links to all the other archived logs



Enjoy!

m


-- 

---------------------------------------------
Matthew Brooke, Ph.D.
Marine Sciences Research Building, Room #3407
University of California
Santa Barbara, CA  93106-6150
ph: (805) 893-7108   fx: 805-893-8062
brooke at nceas.ucsb.edu
---------------------------------------------


More information about the Kepler-dev mailing list