Skip to content

FSharp.Core version 9.0.300 has multiple content hashes #18712

Open
@zivkan

Description

@zivkan

Root cause of:

Using my knowledge of NuGet to get the content hash for the nupkgs:

source content hash
SDK 9.0.301 cU3+oEWUbuOtdKeos4QsWSV0e3+B8K4yAAx/bxv7qec=
SDK 9.0.300 nLg0WYZlcWFYf4eI5BWo2yIU1eYlSCnwHlqS0JlmdiI=
nuget.org nLg0WYZlcWFYf4eI5BWo2yIU1eYlSCnwHlqS0JlmdiI=

So, it looks like the nupkg from the 9.0.300 SDK build was uploaded to nuget.org, but then the 9.0.301 SDK re-created it rather than re-using the existing nupkg. This breaks customers using lock files for deterministic restore.

Note that NuGet's pack is not deterministic. It was tried at one point, but deployment tools that used only a file's timestamp assumed that the deployment target was already up to date for assets coming from the package, and then the deployed app did not work correctly since files coming from the nuget package were not deployed. NuGet had to immediately roll back deterministic pack as it affected too many customers. Therefore, even if a compiler is deterministic, pack is not because of the timestamp written to the zip file's central directory.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    New

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions