packcheck
This package contains a universal CI/build script packcheck.sh and config
files designed such that you can just copy over .travis.yml, appveyor.yml
or .circleci/config.yml to your package repo and your package is CI ready
in a jiffy. You can build and test packages on local machine as well. For
local testing, copy packcheck.sh to your local machine, put it in your
PATH, and run it from your package directory:
You can try the script on this package itself. It builds and comprehensively
sanity tests a Haskell package across build tools (stack/cabal), uniformly,
consistently and across all platforms (Linux/MacOS/Windows). You do not
need to be familiar with any of the build tools to use it.
This is also a minimal yet complete model package (with tests, benchmarks, CI
already working) that can be used as a starting point to develop a new
package. Beginners can use it to learn about haskell package metadata
structure, benchmarks, tests, CI configs etc.
See the README for comprehensive documentation.