-
Notifications
You must be signed in to change notification settings - Fork 525
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
[UX bug] dotnet tool dirty state causes paket to install twice or not at all #3493
Comments
d31b312e reproduces nicely when running |
I think the solution to this is very careful ignoring of what's in |
So the only thing this issue showcases is the friction people will experience and the lack of docs on what to ignore and how to use paket with docker builds. It's not a "bug" per-se but a rather obtuse experience. |
What can we do here to improve the docs? |
|
That clang warning - any ideas how to fix it?
Am Di., 29. Jan. 2019, 08:10 hat Henrik Feldt <[email protected]>
geschrieben:
…
1. You can document what should be ignored when using Paket with
Dockerfiles
2. You can document where .net tool installs it
3. You can document that there's no need for either paket nor paket
bootstrapper to be present in the source code tree any more since they're
automatically downloaded
4. You can document that paket is now a per-platform binary that must
be cleaned before switching platforms
5. You could document the proper naming cross platform (you've chosen
paket.exe vs paket)
6. You could fix and/or document the insistent (600x of them) warnings
about LANG=C not existing (when paket runs)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#3493 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNBQAZIcEkb5nA7FWYiJvDVE6UHMXks5vH_P4gaJpZM4aUUw4>
.
|
I've tried forcing LANG with LC_ALL and LANG in the container, but the problem is that the compiler or paket sets another LANG environment variable before calling the compiler/dep resolver. The solution is probably to install en_US on the container, but in this instance my google-fu failed me and I failed to find how exactly to do that. The systematic way to do that is to see what container base image MSFT uses for the .net core image and search its documentation for both the method and packages required, and then replace |
I don't think it's only a container issue. I see it in our linux builds as well (outside of containers) |
Yes I see this on some CI servers with fake as well. I have started several attempts at this to change the environment but couldn't fix this yet (I think gitlab shows this iirc) |
If you'd find a way to install en_US properly, then perl would probably find it and not complain about it, no matter the linux. |
Re: LANG warning: It's reproducible with MSBuild and this project: <Project>
<Target Name="Build">
<Exec StandardOutputImportance="Low" Command="shasum $(MSBuildThisFile)" ConsoleToMSBuild='true'>
<Output TaskParameter="ConsoleOutput" PropertyName="Hash" />
</Exec>
</Target>
</Project> I tested this on GitLab CI with this image: microsoft/dotnet:2.1-sdk
test:
script: dotnet msbuild -t:Build test.proj I reduced down what |
MSBuild sets This gets written to a temporary shell script, which MSBuild actually invokes. |
wow very nice hunting. Any idea how to fix/workaround? |
Short term: no idea. Some thoughts:
|
We can suppress the warnings by redirecting stderr of shasum file.txt 2> /dev/null |
That |
Description
The build can end up in a bad state when using paket from dotnet tool.
dotnet tool install
runs twice, second time around it exists with1
failing the build.This happens in docker builds too.
Details:
Another error, after erasing
.paket/.store
:After erasing ~/.dotnet:
Expected behavior
Paket should not crash so much.
Actual behavior
It does crash.
Known workarounds
git clean -fxd && ./fake.sh build
The text was updated successfully, but these errors were encountered: