[opam-devel] Using the new travis containers

Anil Madhavapeddy anil at recoil.org
Thu May 14 15:58:37 BST 2015

On 14 May 2015, at 13:30, Thomas Leonard <talex5 at gmail.com> wrote:
> 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`.

I'm honoured to be whitelisted by Travis :-)

It would be useful to have a command to generate the Travis file with
the full APT list.  What's the OPAM 1.2.x command to generate the depext
recursive list?

   opam pin add hdhcp
   opam install -e ubuntu hdhcp

Shows me no depexts, so is there a new command with "opam list" or similar
that I'm meant to use?

> 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?

I publish several PPAs for each combination of OPAM and OCaml:


Is it possible to select the right PPA repository from this list,
or does this require individual whitelisting from Travis?


More information about the opam-devel mailing list