[Haskell-cafe] Haskell CI with many repositories/packages

Matthew Pickering matthewtpickering at gmail.com
Tue Oct 24 20:43:48 UTC 2017


It sounds like using Hydra (the Nix based CI system) would be suitable
for your needs.

The essential work flow would be to create a package set which
contained all your packages and then create a job set which built that
package set.

What's more, if your developers are also using nix then it is trivial
to setup a build cache which serves prebuilt packages to them.

The manual provides a concise introduction - https://nixos.org/hydra/

Matt

On Tue, Oct 24, 2017 at 10:33 AM, Jeroen Bransen <jeroen at chordify.net> wrote:
> Hi cafe,
>
> Does anyone know of a good setup for doing continuous integration with a set
> of Haskell packages, each in its own repository? Just building everything
> upon every commit is not so hard, but to speed up building times I'd like to
> build and test only the minimal set of packages. In particular, at a commit
> for some package A, I would like to build and test A and all packages that
> depend on A.
>
> The problem is that most CI tools use some notion of 'build artefact', which
> Stack doesn't really seem to give me. Ideally building a package results in
> some object file, which can then be used by the other packages. When
> building failed, packages that depend on it can still use the last succesful
> build. I've tried to look up some Haskell projects, but most of them seem to
> use some ad hoc setup.
>
> Some pointers are appreciated, as we are using Gitlab a gitlab-runner
> specific option would be great, but I am also open to use Jenkins or other
> tools. And I guess my main struggle now is on the stack/Haskell side.
>
> Regards,
> Jeroen Bransen
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.


More information about the Haskell-Cafe mailing list