[opam-devel] How to create an integration test based on OPAM

Anil Madhavapeddy anil at recoil.org
Sun Nov 9 16:20:43 GMT 2014

We do something similar to this in Mirage via a custom remote:

    https://github.com/mirage/mirage-dev <https://github.com/mirage/mirage-dev>

And a cron job that builds packages from this remote regularly:

   https://github.com/mirage/is-mirage-broken <https://github.com/mirage/is-mirage-broken>

It uses Docker images to perform the rebuilds, but you could use anything that can construct an appropriate requirement.

That should cover all of the points below except 4).  You can do that in OPAM 1.2 via "opam list --depends-on cohttp --rec" (in this example, to find all the reverse dependencies of cohttp recursively).

Hope this helps,


> On 5 Nov 2014, at 00:19, Sylvain Le Gall <sylvain at le-gall.net> wrote:
> Hi,
> I have several projects that depends on each other and I would like to create an overall Jenkins jobs that will build all these projects with their VCS version and measure how much breakage will introduce a change.
> What I would like:
> 1. gather project sources:
>   a. checkout a project
>   b. create an OPAM package
>   c. inject the package in a local repository
>   d. repeat for every project
> 2. mix the locally created repository with the official OPAM repository
> 3. build/test/install projects in order and report results at each step
> 4. build/test direct reverse dependencies of the projects
> I know that they are a lot of missing pieces and I don't really think that OPAM should handle this kind of test. I would just like to build a tool that can do it for me.
> Is there any already existing scripts that do something close to that ?
> Have you any hint on how to build this kind of tools ?
> Thanks in advance
> Sylvain Le Gall
> _______________________________________________
> opam-devel mailing list
> opam-devel at lists.ocaml.org
> http://lists.ocaml.org/listinfo/opam-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ocaml.org/pipermail/opam-devel/attachments/20141109/94e77c2a/attachment.html>

More information about the opam-devel mailing list