Hello all! I want to announce the initial release of cabal-matrix – a matrix builder for cabal packages. Its purpose is to run builds in a variety of configurations, such as different compiler versions, or different dependency versions.
This tool should be useful to anyone who’s managing packages on Hackage. It helps you come up with dependency version bounds, and validate that existing bounds are correct.
Here’s a demo of it in action:

In the demo example I’ve instructed cabal-matrix to build a package of mine against combinations of a compiler version, a containers version, and an mtl version, but I’ve instructed it not to simultaneously constrain containers and mtl, as that provides no benefit, and would be too many builds.
Exactly which configurations you want to test will depend on the nature of your package, which is why the set of configurations is specified using a DSL. For more information see the README.