[opam-devel] Container based Travis CI service

Anil Madhavapeddy anil at recoil.org
Thu Sep 3 18:34:17 BST 2015

Thanks for posting this to the list, Michael.  We definitely need to do
something about Travis, since the legacy infrastructure is failing regularly
with network timeouts.

If I understand it right, it won't be suitable for completely replacing
depexts, since they specify OS dependencies for binary packages.  However,
it can eliminate the need for the ["source" "linux"] depext which currently
downloads a shell script and runs it.  For instance, the MaxminDB bindings
just posted could use a way to install the C library, but there are no
Ubuntu packages available: https://github.com/ocaml/opam-repository/pull/4754


> On 19 Aug 2015, at 07:25, Michael Grünewald <michipili at gmail.com> wrote:
> Dear opam-devel’lers,
> for a few days I moved my OCaml repositories to the new container-based
> continuous integration service from Travis.  I had a brief off-list
> exchange with Anil, who meant this topic would be interesting to
> list members, especially for depexts.
> In my setting I can use Travis's cache to store several switches and
> run my test-suite for each of these switches.  I wrote a blog article
> describing the setup, if you did not read it already, it is here:
>  http://unix-workstation.blogspot.de/2015/08/opam-and-bsd-owl-support-for-travis-ci.html
> As an appetiser, here is the script running the test suite, as you
> can expect it, the TRAVIS_OCAML_VERSION is defined in .travis.yml
> as part of the test matrix environment.
>  INSTALL_PREFIX="${HOME}/.local"
>  eval $(opam config env --switch ${TRAVIS_OCAML_VERSION})
>  autoconf
>  ./configure --prefix="${INSTALL_PREFIX}"
>  bmake -I "${INSTALL_PREFIX}/share/bsdowl” all
> The setup introduces a special .travis.opam file enumerating the
> switches that need to be installed and the dependencies of the opam
> package being tested.  Packages can be installed using their definition
> in the repository or by pinning a git repository.
> Behind the scenes, a script from the Anvil package is at work:
>  https://github.com/michipili/anvil/blob/master/subr/anvil_travisci_autoinstall.sh
> Besides the blog link above, here are a list of repositories using
> this new setup:
>  https://github.com/michipili/broken
>  https://github.com/michipili/mixture
>  https://github.com/michipili/lemonade
>  https://github.com/michipili/getopts
>  https://github.com/michipili/configuration
> @Anil – Am I right understanding it would be interesting to move
> depext CI setup to the container-based version?  If so, I could
> probably take a look at before the end of the week.
> Best,
> Michael
> _______________________________________________
> opam-devel mailing list
> opam-devel at lists.ocaml.org
> http://lists.ocaml.org/listinfo/opam-devel

More information about the opam-devel mailing list