Skip to content

FSharp assemblies are not reported as prebuilts yet get added to the prebuilts tarball #2989

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

Closed
MichaelSimons opened this issue Aug 12, 2022 · 6 comments · Fixed by dotnet/installer#17211
Assignees
Labels
area-prebuilts Reducing the number of prebuilt packages in the tarball

Comments

@MichaelSimons
Copy link
Member

Looking at a recent CI build (internal Microsoft link), the following prebuilts are reported:

  /tarball/repos/Directory.Build.targets(811,5): warning : 7 new packages used not in baseline! See report at /tarball/artifacts/prebuilt-report/baseline-comparison.xml for more information. Package IDs are: [/tarball/repos/known-good.proj]
/tarball/repos/Directory.Build.targets(811,5): warning : Microsoft.AspNetCore.App.Ref.6.0.8 [/tarball/repos/known-good.proj]
/tarball/repos/Directory.Build.targets(811,5): warning : Microsoft.DotNet.Common.ItemTemplates.7.0.100-rc.1.22409.4 [/tarball/repos/known-good.proj]
/tarball/repos/Directory.Build.targets(811,5): warning : Microsoft.DotNet.Common.ProjectTemplates.7.0.7.0.100-rc.1.22409.4 [/tarball/repos/known-good.proj]
/tarball/repos/Directory.Build.targets(811,5): warning : Microsoft.NETCore.App.Host.linux-x64.6.0.8 [/tarball/repos/known-good.proj]
/tarball/repos/Directory.Build.targets(811,5): warning : Microsoft.NETCore.App.Ref.6.0.8 [/tarball/repos/known-good.proj]
/tarball/repos/Directory.Build.targets(811,5): warning : runtime.placeholder-rid.Microsoft.NETCore.Runtime.ObjWriter.1.0.0-alpha.1.22364.1 [/tarball/repos/known-good.proj]

If you look at the generated Private.SourceBuilt.Prebuilts.7.0.100.x64.tar.gz, you will find additional fsharp packages.

$ tar -tf artifacts/x64/Release/Private.SourceBuilt.Prebuilts.7.0.100.x64.tar.gz 
./
./FSharp.Compiler.Service.41.0.6-preview.22409.11.nupkg
./FSharp.Core.6.0.6-beta.22409.11.nupkg
./FSharp.Core.6.0.6.nupkg
./FSharp.Compiler.Service.41.0.6.nupkg
./microsoft.netcore.app.ref.6.0.8.nupkg
./microsoft.netcore.app.host.linux-x64.6.0.8.nupkg
./microsoft.aspnetcore.app.ref.6.0.8.nupkg
./runtime.linux-x64.microsoft.netcore.runtime.objwriter.1.0.0-alpha.1.22364.1.nupkg

Investigation should be done to see which is correct (either the report or the generated tarball) and then fix the other.

@crummel
Copy link
Contributor

crummel commented Sep 12, 2022

@KevinRansom I tested this offline and none of these F# packages are required to actually build the product. Any idea where I should start looking for why they're being restored?

@crummel
Copy link
Contributor

crummel commented Nov 8, 2022

These packages are still in the online prebuilts but now with a 7.0 version number, so this wasn't just a 6.0 -> 7.0 transition problem. The offline build also has the F# packages included in the prebuilt tarball but not the prebuilt report. I'm still looking into how exactly this is happening, but we know that we can build offline without the F# packages so it's not a prebuilt leakage.

@MichaelSimons MichaelSimons moved this from In Progress to 8.0 Backlog in .NET Source Build Feb 2, 2023
@MichaelSimons MichaelSimons moved this from 8.0 Backlog to 8.0 Preview 2 in .NET Source Build Feb 14, 2023
@MichaelSimons MichaelSimons moved this from 8.0 Preview 2 to 8.0 Preview 3 in .NET Source Build Mar 14, 2023
@MichaelSimons MichaelSimons moved this from 8.0 Preview 3 to In Progress in .NET Source Build Mar 17, 2023
@crummel
Copy link
Contributor

crummel commented Mar 21, 2023

Things that I tried:

  • Rearranging the build order - we thought that this might be runtime using the F# packages before they were built.
  • Patching all F# projects to net7.
  • Patching all F# projects to <LangVersion>latest</LangVersion>.
  • Patching F# projects with these packages in assets.json to the new versions (build failure).
  • Fiddling with F# PVP properties - tried environment variables and command-line variables.

@crummel crummel moved this from In Progress to 8.0 Backlog in .NET Source Build Mar 21, 2023
@MichaelSimons
Copy link
Member Author

@crummel - Do you have an understanding what causes these to be included in the prebuilt tarball but not reported as prebuilts in the prebuilt report?

@crummel
Copy link
Contributor

crummel commented Mar 21, 2023

They are still being downloaded but because we have a source-built version the prebuilt report assumes that we will just upgrade it in PVP so they aren't "real" prebuilts - just a circular dependency that will be fixed. The prebuilt tarball logic is simpler and just grabs everything in the NuGet cache that wasn't source-built.

@MichaelSimons MichaelSimons moved this from Needs Review to Backlog in .NET Source Build Jun 8, 2023
@MichaelSimons
Copy link
Member Author

Confirmed this is still an issue in 8.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-prebuilts Reducing the number of prebuilt packages in the tarball
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants