Skip to content

Conversation

@JoeRobich
Copy link
Member

@JoeRobich JoeRobich commented Apr 8, 2025

Transitive pinning is breaking source-build in SDK insertions. See dotnet/sdk#48088

Changes to MissingRulesDocumentation are automated.

@JoeRobich JoeRobich requested a review from a team as a code owner April 8, 2025 00:03
@ghost ghost added Area-Infrastructure untriaged Issues and PRs which have not yet been triaged by a lead labels Apr 8, 2025
@JoeRobich
Copy link
Member Author

/backport to main

@github-actions
Copy link
Contributor

github-actions bot commented Apr 8, 2025

JoeRobich added a commit that referenced this pull request Apr 8, 2025
@JoeRobich JoeRobich enabled auto-merge April 8, 2025 04:44
@JoeRobich JoeRobich merged commit 7f414bc into release/dev17.14 Apr 8, 2025
25 checks passed
@ViktorHofer ViktorHofer deleted the dev/jorobich/fix-source-build branch April 8, 2025 10:06
@ViktorHofer
Copy link
Member

ViktorHofer commented Apr 8, 2025

@JoeRobich this change is insufficient. Directory.Packages.props gets imported after Directory.Build.props and therefore the property gets reassigned back to true. You want to move this into the Directory.Build.targets file.

FWIW you can also test this by building the VMR locally or in a Codespace with the changes from this PR: dotnet/sdk#48088

@Forgind
Copy link
Contributor

Forgind commented Apr 8, 2025

Should Directory.Packages.props have a Condition="'$(CentralPackageTransitivePinningEnabled)' == ''" check?

@ViktorHofer
Copy link
Member

That's another option. There are so many ways with msbuild :)

@JoeRobich
Copy link
Member Author

by building the VMR locally or in a Codespace with the changes from this PR: dotnet/sdk#48088

@ViktorHofer Is there a doc I can reference?

@JoeRobich
Copy link
Member Author

Also, would have been nice to catch this issue during Roslyn's source build leg instead of in the SDK.

@ViktorHofer
Copy link
Member

Also, would have been nice to catch this issue during Roslyn's source build leg instead of in the SDK.

So, roslyn's current source-build job is only an approximation on how the product build will perform. That job will actually go away as it has proven to be not that helpful: dotnet/source-build#5020. Instead, we will add the option to perform a full VMR product build with the repo local changes: dotnet/arcade-services#4539

That validation leg will highlight such issues. The repo owners then decide if they want that pipeline run as part of every PR or as an optional comment-trigger pipeline. cc @jaredpar @MichaelSimons

@ViktorHofer Is there a doc I can reference?

For the codespace and how to sync PR changes into the VMR: https://github.com/dotnet/sdk/blob/main/.devcontainer/vmr/README.md

General instructions on how to build the VMR can be found here: https://github.com/dotnet/dotnet?tab=readme-ov-file#dev-instructions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area-Infrastructure untriaged Issues and PRs which have not yet been triaged by a lead

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants