* [Caml-list] Opam packages and CI @ 2019-04-09 18:14 Helmut Brandl 2019-04-09 18:49 ` Simon Cruanes ` (2 more replies) 0 siblings, 3 replies; 6+ messages in thread From: Helmut Brandl @ 2019-04-09 18:14 UTC (permalink / raw) To: caml users Hello list, I would like to run some continuous integration like travis ci on my opam package. Unfortunately ocaml is not supported directly by travis. But I have found the GitHub repository ocaml/ocaml-ci-scripts and some instructions on how to use it. My questions: - Is this a stable form on how to use travis with ocaml? - Are there experiences and are they good? - Why has this solution been chosen instead of integrating ocaml support directly into travis? - Isn’t the solution an overkill, because it requires a complete opam and ocaml installation on the travis machines in order to test an opam package? Isn’t there the risk that travis might block this form of usage in the future? - Is there a better method to use CI with ocaml? Thanks Helmut ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Caml-list] Opam packages and CI 2019-04-09 18:14 [Caml-list] Opam packages and CI Helmut Brandl @ 2019-04-09 18:49 ` Simon Cruanes 2019-04-09 18:54 ` Daniil Baturin 2019-04-09 21:36 ` Anil Madhavapeddy 2019-04-10 14:20 ` Louis Roché 2 siblings, 1 reply; 6+ messages in thread From: Simon Cruanes @ 2019-04-09 18:49 UTC (permalink / raw) To: Helmut Brandl; +Cc: caml users [-- Attachment #1: Type: text/plain, Size: 470 bytes --] I've had good experiences with travis recently, using the docker script (an example here: https://github.com/c-cube/iter/blob/master/.travis.yml). if your package is opam 2-friendly it's just a matter of a local pin and a few switches. there are other options (variables, really) to install extra deps or deal with optional deps. It's not particularly overkill since it just starts with a docker image with pre-installed opam switches. -- Simon Cruanes [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Caml-list] Opam packages and CI 2019-04-09 18:49 ` Simon Cruanes @ 2019-04-09 18:54 ` Daniil Baturin 0 siblings, 0 replies; 6+ messages in thread From: Daniil Baturin @ 2019-04-09 18:54 UTC (permalink / raw) To: caml-list Apparently all it takes to add a "proper" Travis integration is three people and some Ruby code. https://docs.travis-ci.com/user/languages/community-supported-languages/#adding-a-new-language https://github.com/travis-ci/travis-build/blob/master/spec/build/script/haskell_spec.rb I don't have a Ruby experience myself though so I can hardly volunteer. On 4/10/19 1:49 AM, Simon Cruanes wrote: > I've had good experiences with travis recently, using the docker script > (an example here: > https://github.com/c-cube/iter/blob/master/.travis.yml). > > if your package is opam 2-friendly it's just a matter of a local pin > and a few switches. there are other options (variables, really) to > install extra deps or deal with optional deps. > > It's not particularly overkill since it just starts with a docker image > with pre-installed opam switches. > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Caml-list] Opam packages and CI 2019-04-09 18:14 [Caml-list] Opam packages and CI Helmut Brandl 2019-04-09 18:49 ` Simon Cruanes @ 2019-04-09 21:36 ` Anil Madhavapeddy 2019-04-10 14:57 ` Helmut Brandl 2019-04-10 14:20 ` Louis Roché 2 siblings, 1 reply; 6+ messages in thread From: Anil Madhavapeddy @ 2019-04-09 21:36 UTC (permalink / raw) To: Helmut Brandl; +Cc: caml users [-- Attachment #1: Type: text/plain, Size: 1586 bytes --] On 9 Apr 2019, at 19:14, Helmut Brandl <helmut.brandl@gmx.net> wrote: > > Hello list, > > I would like to run some continuous integration like travis ci on my opam package. Unfortunately ocaml is not supported directly by travis. But I have found the GitHub repository ocaml/ocaml-ci-scripts and some instructions on how to use it. Dear Helmut, > My questions: > > - Is this a stable form on how to use travis with ocaml? > > - Are there experiences and are they good? Last I checked, there were over 400 repositories on GitHub using ocaml-ci-scripts. It's pretty stable. > - Why has this solution been chosen instead of integrating ocaml support directly into travis? Why do you need direct integration with Travis? The use of the Docker support has made the necessity for that essentially obsolete. See, for example: https://github.com/mirage/ocaml-cohttp/blob/master/.travis.yml <https://github.com/mirage/ocaml-cohttp/blob/master/.travis.yml> in cohttp, which uses Travis and Docker to test the libraries on a variety of Linux distributions. > - Isn’t the solution an overkill, because it requires a complete opam and ocaml installation on the travis machines in order to test an opam package? Isn’t there the risk that travis might block this form of usage in the future? > > - Is there a better method to use CI with ocaml? This solution is pretty good for most people. I'd encourage you to give it a try, and to contribute back any improvements or feature requests you might have after trying it out for a while. regards, Anil [-- Attachment #2: Type: text/html, Size: 2754 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Caml-list] Opam packages and CI 2019-04-09 21:36 ` Anil Madhavapeddy @ 2019-04-10 14:57 ` Helmut Brandl 0 siblings, 0 replies; 6+ messages in thread From: Helmut Brandl @ 2019-04-10 14:57 UTC (permalink / raw) To: Anil Madhavapeddy; +Cc: caml users [-- Attachment #1: Type: text/plain, Size: 2449 bytes --] Thanks for all the hints. Some experiences: I have used the .travis.yaml file from the repo ocaml/ocaml-ci-scripts, reduced the build matrix to a minimum (only 4.07) and it worked out of the box. However to took approx 8 min for linux and 12 min for osx. Therefore I have changed in the travis file ‘.travis-opam.sh’ to ‘.travis-docker.sh’ and added ’services: -docker’, because docker has been recommended by many. Now the build failed after some seconds. Maybe there is more to do than this trivial change to switch to docker. Is there some documentation on how to use docker? Is it worth the effort i.e. will it run faster or has it more features? Regards Helmut > On Apr 9, 2019, at 16:36, Anil Madhavapeddy <anil@recoil.org> wrote: > > On 9 Apr 2019, at 19:14, Helmut Brandl <helmut.brandl@gmx.net <mailto:helmut.brandl@gmx.net>> wrote: >> >> Hello list, >> >> I would like to run some continuous integration like travis ci on my opam package. Unfortunately ocaml is not supported directly by travis. But I have found the GitHub repository ocaml/ocaml-ci-scripts and some instructions on how to use it. > > Dear Helmut, > >> My questions: >> >> - Is this a stable form on how to use travis with ocaml? >> >> - Are there experiences and are they good? > > Last I checked, there were over 400 repositories on GitHub using ocaml-ci-scripts. It's pretty stable. > >> - Why has this solution been chosen instead of integrating ocaml support directly into travis? > > Why do you need direct integration with Travis? The use of the Docker support has made the necessity for that essentially obsolete. > > See, for example: > https://github.com/mirage/ocaml-cohttp/blob/master/.travis.yml <https://github.com/mirage/ocaml-cohttp/blob/master/.travis.yml> > > in cohttp, which uses Travis and Docker to test the libraries on a variety of Linux distributions. > >> - Isn’t the solution an overkill, because it requires a complete opam and ocaml installation on the travis machines in order to test an opam package? Isn’t there the risk that travis might block this form of usage in the future? >> >> - Is there a better method to use CI with ocaml? > > This solution is pretty good for most people. I'd encourage you to give it a try, and to contribute back any improvements or feature requests you might have after trying it out for a while. > > regards, > Anil [-- Attachment #2: Type: text/html, Size: 4316 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Caml-list] Opam packages and CI 2019-04-09 18:14 [Caml-list] Opam packages and CI Helmut Brandl 2019-04-09 18:49 ` Simon Cruanes 2019-04-09 21:36 ` Anil Madhavapeddy @ 2019-04-10 14:20 ` Louis Roché 2 siblings, 0 replies; 6+ messages in thread From: Louis Roché @ 2019-04-10 14:20 UTC (permalink / raw) To: caml-list [-- Attachment #1: Type: text/plain, Size: 191 bytes --] > - Is this a stable form on how to use travis with ocaml? There is auto-ci that can be used to generate travis configuration relying on ocaml-ci-scripts. https://github.com/yomimono/autoci [-- Attachment #2: Type: text/html, Size: 482 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-04-10 14:57 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-04-09 18:14 [Caml-list] Opam packages and CI Helmut Brandl 2019-04-09 18:49 ` Simon Cruanes 2019-04-09 18:54 ` Daniil Baturin 2019-04-09 21:36 ` Anil Madhavapeddy 2019-04-10 14:57 ` Helmut Brandl 2019-04-10 14:20 ` Louis Roché
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox