Repository navigation
Conversation
…he clr subset Makes the clr subset buildable with MSBuild's static graph scheduler and project isolation enforcement (/graphBuild /isolateProjects). Static graph mode requires every project's full set of references to be statically determinable at evaluation time and enforces that projects only access files/outputs they declare, so several coreclr .nuget packaging projects and tool projects needed explicit ProjectReference items and AddTransitiveProjectReferencesInStaticGraph=false added alongside their existing MSBuild-task-based invocation patterns. This is opt-in only (no change to the default dynamic build) and only the clr subset is currently supported; other subsets will be enabled incrementally. Also adds a dedicated CI leg (eng/pipelines/runtime-static-graph.yml) that builds the clr subset with /graphBuild /isolateProjects on linux_x64_dev_innerloop, to catch regressions as this support evolves. Restore happens via a normal dynamic build step first, since Arcade's own toolset-bootstrap project isn't graph/isolate-safe; the actual static-graph build then runs as a postBuildStep invoking Build.proj directly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 099eec3c-119a-4097-8071-6cd952af9e7c
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #1 (dotnet#135434 "Remove MoveSymbolFiles PDB consolidation..."), which this branch is based on.
Makes the
clrsubset buildable with MSBuild's static graph scheduler and project isolation enforcement (/graphBuild /isolateProjects). Static graph mode requires every project's full set of references to be statically determinable at evaluation time and enforces that projects only access files/outputs they declare, so several coreclr.nugetpackaging projects and tool projects needed explicitProjectReferenceitems andAddTransitiveProjectReferencesInStaticGraph=falseadded alongside their existing MSBuild-task-based invocation patterns.This is opt-in only (no change to the default dynamic build), and only the
clrsubset is currently supported; other subsets will be enabled incrementally in follow-up PRs.Also adds a dedicated CI leg (
eng/pipelines/runtime-static-graph.yml) that builds theclrsubset with/graphBuild /isolateProjectsonlinux_x64_dev_innerloop, to catch regressions as this support evolves. Restore happens via a normal dynamic build step first, since Arcade's own toolset-bootstrap project isn't graph/isolate-safe; the actual static-graph build then runs as apostBuildStepinvokingBuild.projdirectly.Note
This PR description and implementation were generated with GitHub Copilot.