-
-
Notifications
You must be signed in to change notification settings - Fork 367
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
did you add -j1
due a concrete issue?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it worths a comment?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.