stack-hpc-coveralls icon indicating copy to clipboard operation
stack-hpc-coveralls copied to clipboard

Help with simple setup

Open hyperthunk opened this issue 7 years ago • 4 comments

I have the following travis config:

install:
- stack ${ARGS} setup --no-terminal

script:
- case "$COVER" of
  true)
    stack ${ARGS} test --coverage --no-terminal
    ./coverage.sh
    ;;
  *)
    stack ${ARGS} test --test-arguments='--plain'
    ;;
  esac

and a coverage script that does this:

#! /bin/sh

travis_retry curl -L https://github.com/rubik/stack-hpc-coveralls/releases/download/v0.0.4.0/shc-linux-x64-$GHCVER.tar.bz2 | tar -xj
shc -- --hpc-dir=$(stack $ARGS path --local-install-root)`/hpc/combined --dont-send combined all

but this doesn't work, and neither does it work without --hpc-dir - I consistently get this error:

shc: readCoverageData/filePath/stackProj: couldn't find distributed-process-extras-0.2.1.2-436qbc7bQkYA8cHMHRpzU2
CallStack (from HasCallStack):
  error, called at src/SHC/Coverage.hs:92:38 in stack-hpc-coveralls-0.0.4.0-3jO1AkdzEnhHM63skfTcNd:SHC.Coverage

Any hints as to what I'm doing wrong?

https://github.com/haskell-distributed/distributed-process-extras

hyperthunk avatar Feb 05 '17 15:02 hyperthunk

What Stack version are you using? It's possible that they changed something that broke SHC.

rubik avatar Feb 06 '17 15:02 rubik

$ stack --version
Version 1.3.2, Git revision 3f675146590da4f3edf768b89355f798229da2a5 (4395 commits) x86_64 hpack-0.15.0

I figured that might be the case. I had issues with 1.0.4 too though. I'm having issues locally on OSX too, though I doubt that's relevant. Thanks for the quick reply btw!

hyperthunk avatar Feb 08 '17 23:02 hyperthunk

Hello.

First of all, a great thanks to @rubik for SHC!

I use SHC in a template project for Haskell (I do such templates for my students at the University), see here:

https://github.com/pascalpoizat/template-haskell-project.

It used to work perfectly for LTS 7.19 / GHC 8.0.1. However, some days ago I had to upgrade to LTS 8.3 / GHC 8.0.2 on my laptop in order to have the IDEA/intero interaction to work (don't know why it began to fail, maybe some OS X issue once more ...). But now, it seems that coverage data are no longer sent to coveralls.

Still, if you have a project that runs under LTS 7.19 / GHC 8.0.1 you may possible take inspiration from my template. Only 2 changes are then required:

  • in .travis.yml change GHCVER from 8.0.2 to 8.0.1
  • in stack.yml change resolver from lts-8.3 to lts-7.19.

I hope it may help.

Pascal PS: I will continue tests, eg to see if the format of coverage data has changed. PPS: indeed, I have to use the binary SHC 0.0.4.0 version, trying to build it in the build script of my template fails :-(

pascalpoizat avatar Mar 01 '17 14:03 pascalpoizat

I used GHCVER=8.0.2 instead of GHCVER=8.0.1 in my travis.yml file in order to cope with the GHC I used. However, there was no SHC release to get with this version. Using GHCVER=8.0.1 everything works now.

pascalpoizat avatar Mar 03 '17 15:03 pascalpoizat