[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