-
Notifications
You must be signed in to change notification settings - Fork 415
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 repro for #7335. #7336
Add repro for #7335. #7336
Conversation
8be2259
to
2b686d2
Compare
I think you're forgetting that root discovery is disabled inside the cram tests. |
I did not know about that when I set up this test, but the issue is real as this is a minimized example of something I came upon in a real project. |
You need to unset the INSIDE_DUNE env var to allow root detection, but even then it will be the wrong root hence why INSIDE_DUNE exists. In other tests, we explicitly set the root when we need to, but that would mean that in this case we are not able to reproduce this behaviour of incorrect root finding. Would you be able to create a repo with a minimal example? Then we can determine if Dune's behaviour is really incorrect. |
I don't really see the point of putting that in a separate repo, but I can easily put that in a tarball that you guys can use to test. It has basically the same contents as the test. This is still broken in Here it is: install-workspace.tar.gz. It contains a |
@rlepigre OK I can reproduce the issue, it definitely looks like something fishy is going on when using -p. I think I should be able to modify your cram test to reproduce. |
The bug here is that when -p is used, the workspace detection behaviour seems to change. The behaviours of dune build and dune clean are however intended. You can |
I'm going to overtake this PR. |
4d5f050
to
f80c5ca
Compare
Signed-off-by: Rodolphe Lepigre <[email protected]> Signed-off-by: Ali Caglayan <[email protected]>
f80c5ca
to
9231583
Compare
So for the record, here is what the test looks like from before when unsetting INSIDE_DUNE:
As you can see, dune build and dune clean have the correct behaviour and it is only -p that gets the wrong root. |
The reason -p is getting the wrong root by the way, is that it is a command line alias for:
and then release is super fun:
I am not very happy with --release's behaviour. At the very least it should be better documented. The root setting is kind of stupid IMO. @rgrinberg WDYT about the fact that --release (and by extension -p) is setting the root to the current directory? |
It can't be changed at this point. Too many released packages rely on it. So it sounds like this bug was from improper use of |
No description provided.