
This is a very interesting suggestion. We are not using Nix, so the whole setup would change, but it is something we can consider for the buildserver (and maybe even other machines). If I understand correctly the packages are then not built anymore with Stack, but rather with Nix specific build scripts. Everything else follows then naturally because of the nice nature of Nix. I'll definitely look into this, but a solution using Stack would be nice and much easier to set up currently. Regards, Jeroen Bransen Op 24-10-2017 om 22:43 schreef Matthew Pickering:
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
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.