<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">On 4 Oct 2016, at 15:10, Jon Ludlam <<a href="mailto:jonathan.ludlam@citrix.com" class="">jonathan.ludlam@citrix.com</a>> wrote:<br class=""><div><blockquote type="cite" class=""><br class="Apple-interchange-newline"><div class=""><span style="font-family: Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Quoting Anil Madhavapeddy (2016-10-03 10:07:15)</span><br style="font-family: Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><blockquote type="cite" style="font-family: Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">Dear all,<br class=""><br class="">I've been maintaining Docker OCaml/OPAM images for the past year, and they are accruing an increasing numbers of users, primarily via Travis CI tests. I am therefore preparing to document and release the Docker container images and scripts to build them regularly off the <a href="http://ocaml.org" class="">ocaml.org</a> infrastructure. The image repositories consist of:<br class=""><br class="">- OCaml base images: <a href="https://hub.docker.com/r/ocaml/ocaml/" class="">https://hub.docker.com/r/ocaml/ocaml/</a><br class="">- OPAM: <a href="https://hub.docker.com/r/ocaml/opam/" class="">https://hub.docker.com/r/ocaml/opam/</a> (a matrix of distributions and OCaml versions)<br class="">- OPAMdev: <a href="https://hub.docker.com/r/ocaml/opam-dev/" class="">https://hub.docker.com/r/ocaml/opam-dev/</a> (a snapshot of OPAM development versions, with the same distribution matrix as above).<br class=""><br class="">There is currently quite a bit of infrastructure around this; each refresh of the repository will trigger off builds to construct binary images of all the distributions above, which in turn can be used by CI infrastructure such as Travis to do multi-distro builds. The same scripts can be used against your own registries to build custom images.<br class=""><br class="">The scripts to do this are all open source but currently in my personal GitHub at<br class=""><a href="https://github.com/avsm/ocaml-docker-infra/wiki" class="">https://github.com/avsm/ocaml-docker-infra/wiki</a><br class=""><br class="">I'm proposing to move the ocaml-docker-infra repository under the ocaml/ GitHub organisation, so that it can sit alongside https://github.com/ocaml/ocaml-ci-scripts. The license of the scripts is ISC. Please let me know if anyone has any questions or concerns.<br class=""><br class=""></blockquote><br style="font-family: Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">This will certainly be of use to the xapi project - we're currently using a mixture of our own docker images and the ocaml-ci-scripts for our testing on Travis, but I'd feel more comfortable moving towards a more standardised set of images. There are probably some minor adaptions we'd need to make, as for a few of our repos the tests involve building RPMs, but this is mainly for our daemons. The more generic libraries we're working on should be testable just using opam, and a larger set of distros/ocaml versions to test with would be quite reassuring.</span><br style="font-family: Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""></div></blockquote></div><br class=""><div class="">Just an update on this -- I haven't forgotten about the repository move, but I decided not to promote the images in their current form to an "official" set of repositories.</div><div class=""><br class=""></div><div class="">The reason is that we can dramatically shrink the size of the container images by using multi-stage builds in Docker to avoid having two copies of the OCaml toolchain in each compiler. I would also like to add multiarch support so that arm32/64/x86_32/x64_64/ppc64be are all in place.</div><div class=""><br class=""></div><div class="">We are currently in discussions with <a href="http://Packet.net" class="">Packet.net</a> who has kindly been sponsoring us with arm hosted machines for this purpose, so I hope to have it all in place before Christmas, at which point we can publish official OCaml container images that are both portable and just the right size for long-term deployments!</div><div class=""><br class=""></div><div class="">regards,</div><div class="">Anil</div></body></html>