/stack-hpc-coveralls

Coveralls support for Stack projects

Primary LanguageHaskellISC LicenseISC

Tests Code coverage License Version

Coveralls.io integration for Stack-based Haskell projects.


Installing

You can install it with stack install stack-hpc-coveralls, but normally you would use SHC on a continuous integration system such as Travis. In that case, it's best to just download the right precompiled binary in the Releases section on Github, in order to avoid all the compilation hassle.

IMPORTANT NOTICE: SHC needs at least Stack 0.1.7, which at the time of writing is still unreleased and in development.

Running

SHC should work out of the box in any Stack-based project. It may work in other scenarios if you supply the right options, but that's not guaranteed, nor supported. For plain Cabal projects, there is already hpc-coveralls, of which SHC is a spinoff.

Normally, for Stack projects, SHC just needs two things:

  • the name of your package
  • at least one test suite name (you can aggregate the Coverage data of multiple test suites)

Just run the program from the root of you Stack project:

$ shc packagename package-tests

Here is, for example, the Travis configuration for the Argon project:

env:
  - GHCVER=7.8.4 STACK_YAML=stack-7.8.yaml
  - GHCVER=7.10.2 STACK_YAML=stack.yaml

# [...]

script:
  - stack test :argon-test --no-terminal --coverage

after_script:
  - travis_retry curl -L https://github.com/rubik/stack-hpc-coveralls/releases/download/v0.0.3.0/shc-linux-x64-$GHCVER.tar.bz2 | tar -xj
  - ./shc argon argon-test