Easy cross platform CI testing of Haskell packages

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Easy cross platform CI testing of Haskell packages

Harendra Kumar
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.


Feedback and suggestions are welcome!

-harendra

_______________________________________________
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.
Reply | Threaded
Open this post in threaded view
|

Re: Easy cross platform CI testing of Haskell packages

Peter Simons-2
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.
Reply | Threaded
Open this post in threaded view
|

Re: Easy cross platform CI testing of Haskell packages

Harendra Kumar
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 <[hidden email]> wrote:
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.


_______________________________________________
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.