-
Notifications
You must be signed in to change notification settings - Fork 790
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
FSharp.Core version 6.0.5 has multiple content hashes. #13678
Comments
@KevinRansom it seems that it is because we didn't bump a version |
All our builds have started failing with this error now. Are there any easier/better workarounds than what @JustinWilkinson described (pushing the package from NuGet to a private feed and incrementing the version)? We'd have to do this for hundreds of projects. (Turning off lock files is not an option at the moment.) |
I tried pinning the .NET SDK version to 6.0.303 using global.json, but I get the same result. (I verified that the CI restore task is using SDK Version: 6.0.303.) Since this bug was introduced with 6.0.400, I thought that this should work, but I have probably misunderstood something. Can anyone explain why it does not help pinning the SDK to pre-6.0.400 on CI? |
I also meet this issue |
Pinning the .NET SDK to 6.0.302 worked. 6.0.303 did not work. |
I think it is an issue with that we didn't bump the version when we were getting the localization changes in, and it went to SDK but not to the NuGet. |
Is removing FSharp.Core (6.0.5) from local nuget cache and having This should disable |
Removing that version from the local cache does indeed help. For my team, this reliably pulls down the version found on NuGet.org. Note, however: We are using So the steps are
|
A couple of questions:
|
Apologies, I copied the wrong property and confused myself. My team is using I've edited my earlier message to fix that. |
Both properties are seemingly very closely related for the same thing - the extra search paths pointing to files not sourced from NuGet.org (or your other configured feeds): I'm thinking about enabling both moving forward. I believe |
Not sure what you mean by "works fine". I have long used
Makes sense. Would be great to have someone else confirm this. |
Hmmm. I just set up a fresh Windows VM (for something unrelated) and tried it there as well. You're right. It keeps using the library-packs folder. I must have gotten my results wrong when I was testing Finally, to confirm (sorry for the back and forth): If I'm setting both tl;dr: vzarytovskii's suggestion above works. |
Happy to hear it. Would be great to get confirmation from at least one other knowledgeable person that using |
It's fine to use it. It was made for scenarios like this - when there's need to turn off implicit packs import. |
Thanks! Should it then perhaps be added alongside https://github.com/dotnet/reproducible-builds/blob/main/Documentation/Reproducible-MSBuild/Techniques/DisableImplicitNuGetFallbackFolder.md? |
I'm a maintainer on that project and would gladly accept a contribution outlining how and why to disable this property. Happy to help wordsmith it too! |
@vzarytovskii What's the status, is it point in time and can be closed, or do we need to fix it? Thanks |
Yeah, this should be closed I think, nothing we can do for this particular version. Should be fixed for future ones (I will also have a CI gate in place to check it won't happen again). |
@vzarytovskii - not sure if the CI gate's worked. We'd swapped to using |
CI gate is not in place yet. @KevinRansom we again have different hashes for the package in nuget and SDK Not sure why. It seems like we publish a different version frow what we have in SDK? Is it because we didn't manage to insert a certain things in VS but did in SDK? |
Sigh..., it seems it is, in fact, caused by the differences in how insertions work for VS and SDK, and the package was published from VS pipeline, which has one less insertion. |
We'll probably need to change the flow - how and from where do we publish nugets. |
sdk publishes them, and given that, I have no idea how they could mess that up. |
Okay, I believe I know what this is. It highlighted a bug in the sdk publish process that caused them to not update the package in the upload cache. I believe this release is the one they discovered it with and it will be fixed in the next release. I will follow up with @mmitche later today and report back if necessary. |
Okay ... In SDK 6.0.401 we shipped FSharp.Core 6.0.6. We backported a change for the 6.0.402 SDK but failed to rev the nuget package version. When we shipped the 6.0.402 SDK the upload to nuget obviously failed because it already existed. We have a mechanism to verify that this doesn't happen moving forward, however, I am not certain that it has been switched on, although I believe that I heard that it was switched on recently, because it happens during our insertion process. I will work with @vzarytovskii to ensure that it is definitely turned on. |
Running into dotnet/fsharp#13678 when building in GitHub actions
Please provide a succinct description of the issue.
Version
6.0.5
of theFSharp.Core
library seems to have two different contents depending on where it is delivered from.The version bundled in the SDK (found under
C:\Program Files\dotnet\sdk\6.0.400\FSharp\library-packs
stems from this commit.The version published on NuGet.org stems from this commit.
In our builds, we make use of
packages.lock.json
andglobal.json
files to ensure repeatable builds across different machines.We make use of the below in a
Directory.Build.props
file to ensure hashes are the same, and this has worked historically up until the6.0.400
SDK release.The version on
NuGet.org
predates the version in the SDK, so the content hash on local builds seems to update but our pipelines are failing with the error:Given the hashes (and the content) are indeed different, this is expected, what is unexpected is the delivery of two distinct packages with the same version number.
Repro steps
FSharp.Core
version 6.0.5, enable lock files and restore.6.0.400
SDK.Expected behavior
The content of the
FSharp.Core
package (version6.0.5
) delivered by the6.0.400
SDK should match that onNuGet.org
.Actual behavior
The content of the
FSharp.Core
package (version6.0.5
) delivered by the6.0.400
SDK is different to that which is delivered onNuGet.org
.Known workarounds
We have downloaded the package from
NuGet.org
and assigned it version6.0.5.1
in our own feed to force it to pick up a new version.The text was updated successfully, but these errors were encountered: