Easy cross platform CI testing of Haskell packages

Hi, If as a package maintainer, you want to: * test your package with cabal & stack both * test your package on Linux, Mac, Windows * test your package on travis, appveyor or local machine in the same way * make sure that the _source dist_ that you are going to upload is tested * upload coverage report to coveralls.io * customize the build your way But you do not want the drudgery and the pain of writing elaborate shell scripts inside travis or appveyor yaml config and then debug them, then this script is for you. You just have to declare some environment variables in your build matrix and finally call this script and you are done. It works consistently the same way for all build types so you don't worry about whether all platforms are testing the same way or not. * Script: https://github.com/harendra-kumar/package-test * Travis Example: https://github.com/harendra-kumar/xls/blob/master/.travis.yml * Appveyor Example: https://github.com/harendra-kumar/xls/blob/master/appveyor.yml Feedback and suggestions are welcome! -harendra

Hi Harendra, I've been a happy user of https://github.com/hvr/multi-ghc-travis/ for a while, and that script generates fairly sophisticated build scripts. Now I wonder whether your solution has any advantages or disadvantages compared to that generator? Can anyone share some light on the respective traits of these solutions? Best regards, Peter

Hi Peter,
I was not aware of that script, thanks for the pointer. multi-ghc-travis is
more high level as it generates the travis config using the cabal file's
tested-with field, something that was on my todo list. My script is a shell
script to be invoked from a travis/appveyor.yml config. It can potentially
be used in place of the shell snippets generated by multi-ghc-travis. So I
can compare the shell part of the two, some differences that I can see on a
quick look:
* package-test is more general, it works for windows as well
* It can be run easily on your local machine as well which is convenient
for debugging any failures or if you just want to test on local machine
instead of travis.
* It supports cabal as well as stack for testing
* It tests from source distribution to make sure the generated source dist
is not broken
* It has a simple knob to send coverage info to coveralls.io
-harendra
On 18 October 2016 at 17:25, Peter Simons
Hi Harendra,
I've been a happy user of https://github.com/hvr/multi-ghc-travis/ for a while, and that script generates fairly sophisticated build scripts. Now I wonder whether your solution has any advantages or disadvantages compared to that generator? Can anyone share some light on the respective traits of these solutions?
Best regards, Peter
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
participants (2)
-
Harendra Kumar
-
Peter Simons