[squeak-dev] Re: [Esug-list] Google Summer Of Code 2010 news!!!

keith keith_hodges at yahoo.co.uk
Sat Mar 6 22:53:40 UTC 2010

On 6 Mar 2010, at 13:07, Mariano Martinez Peck wrote:

> 4) Build a continuous integration server using Seaside, Iliad or  
> AidaWeb.  Build an interface to version control systems (possibly  
> supporting both independent systems such as Monticello or file-based  
> such as svn/CVS/git) that can be used from Smalltalk and integrate  
> it with Smalllint code reports.  For a more ambitious project, the  
> server should be able to start a new image, upgrade the package, run  
> SUnit tests there and communicate back the results---the time to  
> upgrade the package should be minimized of course!
> Are you aware of this two projects ? I don't know other dialects but  
> in Pharo they work:
> - http://n4.nabble.com/Interim-build-server-td1296834.html#a1296834
> - http://n4.nabble.com/ANN-Hudson-continuous-integration-server-support-td1296910.html#a1296910

Ok I will be clearer,

Bob has a seaside interface, for watching the status of all builds and  
triggering manual builds. In your build spec, you give bob a url for  
any starting image, he downloads it, unzips it and finds the image  
within the zip file.

He then launches said image, applies the scripts to build whatever you  
want, saves the build in the output directory zips it up adds a meta- 
data file so you can see what that build contains and uploads it to  
anywhere you specify via ftp, or signals it as ready for an rsync  
process to upload. (since the rsync might need to be run by a  
different process for security reasons) ftp uploads and downloads are  
done 5 at a time thanks to rio's support, and use unix ftp if  
OSProcess is available.

Bob also watches any build result, either locally or in anyone else's  
build output folder that is available via ftp. When he spots that a  
published image has been updated he can trigger a build based on the  
new image, retrieving that via ftp.

Everyone who wants to can run bob servers, there is a periodic service  
scheduler which reads a global build configuration from a central  
monticello repo. So you can publish a build spec to squeaksource for a  
build you would like to see, and every bob server can build it if it  
wants to subscribe to it. Subscription to a build is achieved simply  
by creating the output folder.

Testing is provided by an SUnit package which generates results in  
simple text file reports, these results are viewable remotely via  
http. Multiple bobs can be configured to run tests on each of squeaks  
target platforms, run tests and publish results.

if you really want it, it is there,


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20100306/2a5744ff/attachment.htm

More information about the Squeak-dev mailing list