Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Fix casing of Microsoft.DotNet.ILCompiler for SB artifact bootstrapping #16626

Merged
merged 1 commit into from
Jun 8, 2023

Conversation

mthalman
Copy link
Member

@mthalman mthalman commented Jun 8, 2023

The casing of the Microsoft.DotNet.ILCompiler package name is incorrect in the project configuration which handles source-build artifact bootstrapping. Because Linux is case-sensitive, this causes two versions of the Microsoft.DotNet.ILCompiler to exist in the previously-source-built local package feed:

  • Microsoft.DotNet.ILCompiler: This is the original package that came from the source built artifacts tarball.
  • Microsoft.DotNet.IlCompiler: This is the "bootstrapped" package that was pulled from nuget.org.

The contents of these two packages are different. But from the perspective of NuGet, whose implementation is not case-sensitive with respect to NuGet package names, they have the same name and version. Because of non-deterministic behavior in NuGet you may get one package or the other, leading to unpredictable results in the build (see dotnet/runtime#83695 (comment) and dotnet/runtime#83695 (comment)).

@mthalman mthalman requested a review from a team as a code owner June 8, 2023 12:47
@mthalman mthalman enabled auto-merge (squash) June 8, 2023 13:16
@mthalman mthalman merged commit 3c72e0a into dotnet:main Jun 8, 2023
@mthalman mthalman deleted the ilcompiler branch June 8, 2023 13:50
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants