Don’t edit dependency bounds manually, with this CI setup

There was more interesting discussion over in

and I realized that the CI setup above contains two ideas that are pretty much orthogonal:

  • How the build matrix is generated.

    Here, I am using a directory of .cabal config files (which can specify GHC versions, constrain dependencies, import Stackage package sets).

  • That the plans from each build are collected and compared to the .cabal dependencies using cabal-plan-bounds.

But of course you can use the former without the latter, if you like that way of specifying your build matrix.

And you can use the latter without the former, if you create your build matrix differently – statically in .github/workflows, dynamically from the tested-with field in your Cabal file (using @Kleidukos’s get-tested) , using cabal.haskell-ci constraint sets, or any other way.

4 Likes