Repository navigation
Conversation
|
ok seems it fails for some restore reason @alfonsogarciacaro any ideas? |
|
in my production app it fails on ci even weirder: /usr/bin/yarn webpack-cli --config src/Client/webpack.config.js -p Error: read ECONNRESET |
|
Yes, it seems in the previous build it was just skipping the command and now Appveyor has 2.1.500 so it conflicts with the local install for some reason. Is this FAKE command always installing the sdk locally? Cannot use the global "dotnet" if it matches the desired version? |
|
@forki Maybe try to use |
|
webpack and webpack-cli give same error. I think the problem is that fable assumes there is a globally installed dotnet. |
|
I mean we definetly don't want to patch dotnet version every month on all our CI servers, Therefore it's always installed locally - AFAIK we don't have any dotnet installed globally on CI |
|
I mentioned FAKE and the blame has quickly moved somewhere else ;) In any case, this is just a convenience, I didn't want the compilation to stop if the restore failed. I'm wrapping the |
|
AFAIK Dotnet.ProjInfo (which Fable uses to parse the .fsproj file) also uses "dotnet" globally. Is that right @enricosada? |
|
it's not about blame. We just need to find a way that works on usual CI setups. I mean we knew that moving things back to webpack will introduce new edge cases. so it's just about polishing them out |
|
ok for testing purposes I do the dotnet restore before calling webpack. but it still fails. I can't really tell if it fails during restore or one step later. |
|
Looks like the restore wasn't done properly. I've pushed fable-compiler 2.1.1 trying to ignore the error when calling |
we can certainly do that. Let me update the fable and then we see |
|
"A compatible SDK version for global.json version: [2.1.500] from [C:\projects\safe-bookstore\global.json] was not found" OK that is now a much better error message. Thanks! |
|
Alternative Idea: would it be possible to set the dotnet path as command line argument to yarn webpack command? Would that make sense? @MangelMaxime what do you think? |
|
Well, you first convince @enricosada and then we talk ;) |
|
TBH I don't understand much about |
|
Well as very first step I put it in path to see if it's fixing stuff. And
if that's the case then we can iterate on making it even more complicated.
/s/complicated/awesome
Am Do., 29. Nov. 2018, 18:01 hat Alfonso Garcia-Caro <
notifications@github.com> geschrieben:
… Well, you first convince @enricosada
<https://github.com/enricosada/dotnet-proj-info/blob/3d8c895dba69cb43ad1ecf9b97ee7cb5d26789f1/src/dotnet-proj/Inspect.fs#L97-L98>
and then we talk ;)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#378 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNMtCufIRZeAS5GkkdcbpwvJAInQWks5u0BLTgaJpZM4Y5uqa>
.
|
|
The global.json is like a lock file for the .NET sdk. I have a hard time making this clear to everyone ;-) |
|
@forki I do understand that this is a lock files. But what I find frustrating is that if you have on your system:
Because you installed each version one by one. Then it will never found the earlier version. For me it should allow different version and be able to find the one you wants. Because when working with OSS project which have different version in the end I just upgrade all of them to the newest version. Which is fine if I own the repo, but when working with Elmish or Fable repo for example then either I upgrade the |
|
Yes it's not logical in any way for libs. But bookstore is an app. You
always want to pin for apps.
Am Do., 29. Nov. 2018, 21:21 hat Maxime Mangel <notifications@github.com>
geschrieben:
… @forki <https://github.com/forki> I do understand that this is a lock
files.
But what I find frustrating is that if you have on your system:
- v2.402
- v2.403
- v2.500
Because you installed each version one by one. Then it will never found
the earlier version.
Perhaps it is erasing them which is kind of stupid :)
For me it should allow different version and be able to find the one you
wants. Because when working with OSS project which have different version
in the end I just upgrade all of them to the newest version. Which is fine
if I own the repo, but when working with Elmish or Fable repo for example
then either I upgrade the global.json version and need to remember to not
commit that change or I wait 10min that FAKE install the expected version
which is just too long and it will do that over and over...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#378 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNOYEPFQfQ1OPnKDfC0Vx4Z1hZ1Hoks5u0EHKgaJpZM4Y5uqa>
.
|
|
So for libs I should remove it ? 🤔 Sorry to go out of the initial subject ^^ |
|
No please don't. It's still making things more explicit
Am Do., 29. Nov. 2018, 22:16 hat Maxime Mangel <notifications@github.com>
geschrieben:
… So for libs I should remove it ? 🤔
Sorry to go out of the initial subject ^^
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#378 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNKw4AqxRPmF-XZCbeXVwu0hp7f_Nks5u0E7KgaJpZM4Y5uqa>
.
|
And making people crazy 😂 But ok, I will not then. |
|
Yes painfully explicit :P
Am Fr., 30. Nov. 2018, 08:12 hat Maxime Mangel <notifications@github.com>
geschrieben:
… No please don't. It's still making things more explicit
And making people crazy 😂
But ok, I will not then.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#378 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNJO2GQUug4KSAW-wJ7SHU2jwy4veks5u0NpfgaJpZM4Y5uqa>
.
|
|
ok that fixes the appveyor. but for some reason the UI tests on travis do not work? |
|
So it's not the UI tests. It's still the fable call. I don't really understand what's happening here. @alfonsogarciacaro shouldn't it at least give different exit code? |
|
Yes, Fable should display a better error message. I've build this branch locally on my macOS and it run fine. It's and ENOENT problem (No such directory entry) so Travis is still not finding "dotnet", not sure why... and not sure why it worked before 😕 |
|
It worked before 2.1 because we always started dotnet with full path. Now
webpack process starts it and I'm not sure if the PATH is now good for
Linux. What happens when you deinstall the 2.1.500 globally. Then it should
theoretically install it locally for you and maybe it then crashes as well?
Am Fr., 30. Nov. 2018, 13:06 hat Alfonso Garcia-Caro <
notifications@github.com> geschrieben:
… Yes, Fable should display a better error message. I've build this branch
locally on my macOS and it run fine. It's and ENOENT problem (No such
directory entry) so Travis is still not finding "dotnet", not sure why...
and not sure why it worked before 😕
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#378 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNHnaXce7bYOC9R9R62kXwXJ2df_Dks5u0R8xgaJpZM4Y5uqa>
.
|
|
Hmm, but before Fable was also calling |
|
mhm dunno. |
|
Oh, f*ck. After a lot of trial and error I found the issue, PATH separators are different in Windows and Unix 😡 Please use this: Target "InstallDotNetCore" (fun _ ->
dotnetExePath <- DotNetCli.InstallDotNetSDK dotnetcliVersion
let fi = FileInfo dotnetExePath
let SEPARATOR = if isWindows then ";" else ":"
Environment.SetEnvironmentVariable(
"PATH",
fi.Directory.FullName + SEPARATOR + System.Environment.GetEnvironmentVariable "PATH",
EnvironmentVariableTarget.Process)
)It would probably be a good idea to add this as a FAKE helper |
|
Ouch. Thanks a lot for figuring that out.
/cc @matthid
Am Fr., 30. Nov. 2018, 14:38 hat Alfonso Garcia-Caro <
notifications@github.com> geschrieben:
… Oh, f*ck. After a lot of trial and error I found the issue, PATH
separators are different in Windows and Unix 😡 Please use this:
Target "InstallDotNetCore" (fun _ ->
dotnetExePath <- DotNetCli.InstallDotNetSDK dotnetcliVersion
let fi = FileInfo dotnetExePath
let SEPARATOR = if isWindows then ";" else ":"
Environment.SetEnvironmentVariable(
"PATH",
fi.Directory.FullName + SEPARATOR + System.Environment.GetEnvironmentVariable "PATH",
EnvironmentVariableTarget.Process)
)
It would probably be a good idea to add this as a FAKE helper
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#378 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNBDHiBYU5YhC-LdiU2VXN6Ejpncjks5u0TTFgaJpZM4Y5uqa>
.
|
|
Ok it's green. Now let's discuss if we really like that approach. Tbh I'm currently very confused about it. I'm not saying it's bad, but I'm also not really amazed about it. There must be a more elegant solution. |
|
Ok cool. https://safebookstore.azurewebsites.net is now proper fable 2.1 app and so is my production app. Thanks a lot! |



No description provided.