Skip to content
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

Remove dependency on prebuilts tarball #45864

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Conversation

mthalman
Copy link
Member

Fixes dotnet/source-build#4715

Dependent on #45846

@dotnet-issue-labeler dotnet-issue-labeler bot added Area-Infrastructure untriaged Request triage from a team member labels Jan 10, 2025
@mthalman mthalman marked this pull request as ready for review January 10, 2025 16:16
@mthalman mthalman requested review from a team as code owners January 10, 2025 16:16
@mthalman
Copy link
Member Author

/azp run sdk-source-build

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mthalman
Copy link
Member Author

Still getting Microsoft.VisualStudio.SolutionPersistence prebuilt from SBE. This is because SBE has a transitive dependency on an older version of Microsoft.VisualStudio.SolutionPersistence through its dependency on Microsoft.Build. Since SBE is built before msbuild, it's getting Microsoft.Build from N-1. So we need another rebootstrap to get a newer version of Microsoft.Build in N-1 with its updated version of Microsoft.VisualStudio.SolutionPersistence.

@baronfel
Copy link
Member

@mthalman is there a process thing that MSBuild/SDK need to be aware of for future updates to this library?

@mthalman
Copy link
Member Author

@mthalman is there a process thing that MSBuild/SDK need to be aware of for future updates to this library?

I believe the process is in place. It's just that an automated flow didn't occur to get the updated version to msbuild's main branch. See dotnet/msbuild#11249 (comment)

@ViktorHofer
Copy link
Member

ViktorHofer commented Jan 10, 2025

Still getting Microsoft.VisualStudio.SolutionPersistence prebuilt from SBE. This is because SBE has a transitive dependency on an older version of Microsoft.VisualStudio.SolutionPersistence through its dependency on Microsoft.Build.

Definitely an interesting case. Sounds like these two hops will always be necessary? As an example, what will happen the next time when M.VS.SolutionPersistence gets updated in SBE?

Could the source-build infrastructure transitively upgrade the Microsoft.VisualStudio.SolutionPersistence dependency everywhere in the stack where needed, to the SBE version? Would that generally be useful for all packages produced of out of SBE?

@mthalman
Copy link
Member Author

Definitely an interesting case. Sounds like these two hops will always be necessary? As an example, what will happen the next time when M.VS.SolutionPersistence gets updated in SBE?

I see this as a one-time issue with being out of sync between the repos and not something that would occur during servicing. SBE would be referencing the MSBuild version from the N-1 artifacts. Those artifacts would contain the version of SolutionPersistence that MSBuild was referencing. So there would be no prebuilt there. The rest of the build would be using the live version of SolutionPersistence produced out of SBE.

The reason we run into this now is because the N-1 artifacts do not include the older version of SolutionPersistence. That was contained in the prebuilts tarball.

@ViktorHofer
Copy link
Member

Thanks. I don't pretend to fully understand this but I'm happy if this won't be a problem going forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Infrastructure untriaged Request triage from a team member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Investigate Prebuilts from .NET 10.0 Transition
4 participants