[opam-devel] Using the new travis containers

Thomas Leonard talex5 at gmail.com
Thu May 14 13:30:56 BST 2015


Travis is currently migrating over to using containers for builds.
These start much faster than the old full VMs, but they don't give you
root access. This means that you can't use sudo to install packages
and should instead list them in your .travis.yml file.

Here's the confg that CueKeeper uses:

  https://github.com/talex5/cuekeeper/blob/master/.travis.yml

In summary:

1. Add the `avsm` PPA to get an up-to-date OCaml.
2. List all debs you need ahead of time.
3. Put `FORK_USER=talex5 FORK_BRANCH=containers` in `env` so that it
uses my branch of ocaml-travisci-skeleton (tracking PR here:
https://github.com/ocaml/ocaml-travisci-skeleton/pull/41)
4. If using mirage, use `PINS=mirage` and use `mirage configure --no-depext`.

Notes:

- All debs and PPAs must be whitelisted by Travis. avsm is whitelisted already.

- aspcud is not whitelisted (I've requested it here:
https://github.com/travis-ci/travis-ci/issues/3898), which means that
the opam deb doesn't work reliably. Instead, my branch gets opam and
aspcud via 0install.

- There's no obvious way to specify which version of ocaml you want.
Perhaps Anil could add e.g. an `ocaml-4.01` with a suitable version
constraint?


-- 
Dr Thomas Leonard        http://roscidus.com/blog/
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA


More information about the opam-devel mailing list