Skip to content

Enable MSBuild node reuse defaults in the F# build scripts - #20220

Open
T-Gro wants to merge 1 commit into
mainfrom
t-gro-fix-msbuild-node-reuse
Open

Enable MSBuild node reuse defaults in the F# build scripts#20220
T-Gro wants to merge 1 commit into
mainfrom
t-gro-fix-msbuild-node-reuse

Conversation

@T-Gro

@T-Gro T-Gro commented Aug 6, 2026

Copy link
Copy Markdown
Member

Fixes #20217

eng/Build.ps1 and eng/build.sh both hard-disabled MSBuild node reuse for every build, overriding Arcade's default (reuse on locally, off on CI). The overrides were added together in March 2019 as a workaround for FSharp.Build.dll version conflicts when the proto compiler and the freshly built one land in reused MSBuild nodes during F#'s self-bootstrap — not, as the issue assumed, a PowerShell-only template leftover.

Removing both restores node reuse for the inner loop and unblocks MSBuild Server. Whether that 2019 FSharp.Build.dll conflict still reproduces is the open question, so this leans on full CI to answer it — in particular the Windows EndToEndBuildTests job, which builds without -ci and now exercises node reuse end to end.

Both entry points hard-disabled MSBuild node reuse for every build,
overriding Arcade's default (node reuse on locally, off on CI). The
overrides were added together in March 2019 (7a6448e, f4bd221)
as a workaround for FSharp.Build.dll version conflicts when the proto
compiler and the freshly built one are loaded into reused MSBuild nodes
during F#'s self-bootstrap.

This removes both overrides so Arcade's default applies, restoring node
reuse for the inner loop and unblocking MSBuild Server. Whether the 2019
FSharp.Build.dll conflict still reproduces is validated by full CI,
including the Windows EndToEndBuildTests job, which builds without -ci
and therefore now exercises node reuse end to end.

Fixes #20217

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

✅ No release notes required

@github-actions github-actions Bot added the AI-Tooling-Check-Bypassed Tooling check: non-fork PR, not diff-analyzed label Aug 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI-Tooling-Check-Bypassed Tooling check: non-fork PR, not diff-analyzed

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

eng/Build.ps1 hard-disables MSBuild node reuse, hurting inner-loop perf and blocking MSBuild Server

1 participant