[opam-devel] Container based Travis CI service

Michael Grünewald michipili at gmail.com
Wed Aug 19 15:25:37 BST 2015


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



More information about the opam-devel mailing list