[squeak-dev] Reimplementing CI with Rake: status report

Frank Shearar frank.shearar at gmail.com
Wed Mar 27 11:18:24 UTC 2013


I got fed up really quickly with writing shell scripts, so I started
an experiment to use Ruby's Rake to run tests.
https://travis-ci.org/frankshearar/squeak-ci/builds/5835209 shows the
latest build, which
* builds a custom Interpreter VM (because the CI runs on several
unsupported platforms - CentOS on build.squeak.org (unsupported
because it uses an ancient glibc) and Travis (unsupported because it's
an x86_64 platform)),
* use Cog if available,
* prepare a test image (update the image under test, load the HudsonBuildTools),
* and then run a bunch of external packages on a copy of the updated image.

In particular, we run AndreasSystemProfiler, Control, FFI, Nebraska,
Nutcracker, OSProcess, Quaternion, Phexample, RoelTyper, SqueakCheck,
Universes, WebClient, XML-Parser and Zippers against each of Squeak
4.3, 4.4 and 4.5. You can run this same build script on multiple
platforms: CentOS, Ubuntu 10.04, whatever Travis is running, Windows
7. It ought to work anywhere that Ruby works and the code compiles. I
haven't tested it on OS X yet, and it almost certainly won't work on
FreeBSD because the Interpreter doesn't compile there [1].

I still use the old shell scripts for the SqueakTrunk and
ReleaseSqueakTrunk jobs, but these could be replaced with Rake, simply
by running `rake release` instead of `rake test`.

frank

[1] http://build.squeak.org/job/SqueakTrunkOnInterpreterFreeBSD/18/console
shows an issue with libuuid (of course). This particular problem's
been solved on the Cog branch, but Eliot and I have yet to get Cog
compiling on FreeBSD (for other reasons).


More information about the Squeak-dev mailing list