Haskell Build Automation

build-automation, continuous-integration, haskell

Solution

Cabal is the preferred way to build/test/generate docs for Haskell projects. ~1500 projects are built this way on hackage:

To build docs for your project:

- cabal haddock

To build your project:

- cabal install

To clean your project:

- cabal clean

Problem

What is the preferred way to automate build/test/ci/doc-gen/... for a Haskell project? At the moment I use Cabal for the "final" build and bash-scripts to automate testing/checkins/doc-gen/.. but I would like to replace the bash-scripts. I've installed Nemesis (rake for Haskell according to the author) but I'm not yet sure it's the right tool. Just to clarify: I'm looking for something that I can add custom commands with custom arguments to (is it possible with Cabal?), i.e. foo test unit foo test db foo test all foo db migrate ...

Original source