Add GitHub Actions CI for testing#504
Conversation
|
We will need haskell-language-server executable (without make the exe name shorter) |
|
EDIT EDIT2 |
|
@jneira I've added another environment var HLS_WRAPPER_TEST_EXE, seems to work ok for now. Hopefully we can get rid of this whenever ghc supports the windows long paths extension! |
|
Looks like those windows failures are genuine. Opened up a quick PR to hopefully fix them here: haskell/hie-bios#256 |
|
Not sure about these ones though: Is this ghc outputting a different encoding or can the tests set anything to encode it as the one below? @jneira |
|
IIRC, GHC changes quotation marks according to the locale settings. I encountered the same behaviour when I contributed to https://github.com/nomeata/inspection-testing |
|
Yeah, hie had similar failing tests too. |
|
I think delimiters used by ghc in windows is due to lack of support for utf-8 in windows shell by default. So to avoid output weird replacements they decided to use ascii delimiters for windows. |
|
@jneira thats the approach I've ended up using, I went down a rabbit hole today of trying to understand what decides the default |
| env: | ||
| HLS_TEST_EXE: hls | ||
| HLS_WRAPPER_TEST_EXE: hls-wrapper | ||
| run: cabal test --test-options=-j1 |
There was a problem hiding this comment.
did you add -j1 due a concrete issue?
There was a problem hiding this comment.
Out of precaution, the tests previously failed on circleci because without -j1 tasty attempts to run all the functional tests in parallel, which means it spins up 20 or so hls instances simultaneously. I'm not sure if the GitHub runners can handle it or not but the circleCI runners definitely couldn't!
jneira
left a comment
There was a problem hiding this comment.
Amazing work, as usual. Many thanks, specially for take care of minority os's.
Following the discussion in #6 , it looks like we should probably move away from CircleCI at some point. This adds GitHub Actions CI workflows, reusing the infrastructure we already have for the static binaries. It should run the tests on linux, macOS and windows now.