[ocaml-platform] OCamlot

Anil Madhavapeddy avsm2 at cl.cam.ac.uk
Wed Feb 13 22:53:04 GMT 2013


On 13 Feb 2013, at 22:42, Anil Madhavapeddy <avsm2 at cl.cam.ac.uk> wrote:

> Opamalot is more of a coordination service.  It interfaces with OPAM to get the (non-trivial) package database, version constraints and compiler variants out of it, and comes up with a prioritised schedule of builds and tests that need to be run on different platforms.  Some of these could (and should) run on third-party hosted services such as Travis, just to get some diversity.  Others, however, really require a Xen pool so that more exotic stuff can be done.

It's also worth noting the difference in execution speeds for adopting a copy-on-write approach.  We  need to test 300+ packages (which will grow) across 3.12.1/4.00.0/4.00.1/4.01.0dev and experimental compiler branches, ideally without recompiling the compiler for each package.  If a package fails to build on a fast architecture (x86), it should immediately be dropped from a slow one.

When Jane Street issues a pull request for a new version of Core [1] we need to run these tests quickly to avoid holding up the release and prioritise that over other pull requests, since it's a high risk patch that touches a lot of other packages.

It's certainly possible to code this up in Travis, but it's certainly not part of the standard continuous build service (unless one of these does offer this -- I would be delighted to be corrected).

I tried building it as a Jenkins plugin, but frankly, life's too short for that.  I can't even get the Jenkins port to install on FreeBSD 9.1/amd64 due to some OpenJDK/JIT compile error.  And the Raspberry Pi is in even worse shape with a big hunk of RAM taken up by a Jenkins worker.

-anil


[1] https://github.com/OCamlPro/opam-repository/pull/382


More information about the Platform mailing list