[squeak-dev] Re: [Esug-list] Google Summer Of Code 2010 news!!!
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...
More information about the Squeak-dev