-
-
Notifications
You must be signed in to change notification settings - Fork 388
Make sure running tests locally pick up the correct cradle type #3869
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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.