-
-
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
Make sure running tests locally pick up the correct cradle type #3869
Make sure running tests locally pick up the correct cradle type #3869
Conversation
If developers have a local `hie.yaml` for HLS development, this causes the tests to pick up said `hie.yaml`. This causes these tests to use a cabal cradle, slowing down the test execution. Should have no effect on CI, though, which never has a `hie.yaml` in the root of the project.
Is this the right branch? I don't see any |
Locally, I have a simple cabal cradle: cradle:
cabal: That's what is causing the issue for local development, if you happen to write a |
I mean, I don't see how the changes in this PR correspond to what you wrote in the description? Or maybe I'm being dumb? |
If it is unclear, then I need to make sure I express myself better :D When running tests, we should make sure that tests use a direct cradle unless they test a cabal-specific feature for performance but also test flakiness reasons. In CI, the HLS repository does not have a However, when you develop HLS, you may have a locally defined This PR makes sure that the |
Ah okay, so it's just the |
The other tests already copy the test data into a temporary directory and run the tests in there. I want to migrate these to the file tree feature I implemented a couple of months ago, too. |
If developers have a local
hie.yaml
for HLS development, this causes the tests to pick up saidhie.yaml
. This causes these tests to use a cabal cradle, slowing down the test execution. Especially annoying in conjunction with the cabal issue haskell/cabal#8930.We make sure that all tests have a custom
hie.yaml
or are copied outside the project directory.Should have no effect on CI, though, which never has a
hie.yaml
in the root of the project.