Continuous Integration and Continuous Deployment with Haskell
CircleCI supports building Haskell applications with GHC and Cabal. Before each build we look at your repository and infer commands to run, so most setups should work automatically.
We have many versions of GHC pre-installed on Ubuntu 12.04.
If you’d like a particular version, you can specify it in your
machine: ghc: version: 7.8.3
Dependencies & Tests
If we find a Cabal file at the root of your repository, we install your
dependencies and run
cabal build and
You can customize this easily in your
circle.yml by setting
post properties in the
and test sections.
test: post: - cabal bench
CircleCI can cache directories in between builds to avoid unnecessary work. If you use Cabal, our inferred commands build your project in a Cabal sandbox and cache the sandbox. This helps your build run as quickly as possible.
CircleCI supports saving and uploading arbitrary build artifacts.
If you’d like to automatically generate documentation with Haddock,
you can put something like this in your
test: post: - cabal haddock --builddir=$CIRCLE_ARTIFACTS
Our Haskell troubleshooting documentation has information about the following issues:
If you have any further trouble, please contact us. We’ll be happy to help!