[opam-devel] Using the new travis containers

Thomas Leonard talex5 at gmail.com
Thu May 14 16:07:13 BST 2015


On 14 May 2015 at 15:58, Anil Madhavapeddy <anil at recoil.org> wrote:
> 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 :-)

Indeed, this means you have root in their containers, and thus (I
think) to their hosting VMs too.

> 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:
>
> https://launchpad.net/~avsm
>
> Is it possible to select the right PPA repository from this list,
> or does this require individual whitelisting from Travis?

The entry is here:

https://github.com/travis-ci/apt-source-whitelist/blob/63454fd9da89fce908ab316a69defa28f34c1743/ubuntu.json#L2

{ "alias": "avsm", "sourceline": "ppa:avsm/ppa", "key_url": null },

So I'm guessting it's just this one.


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