From 769074c90f08754183845d1655b7c4e72f1a27d4 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Thu, 6 Aug 2026 14:08:11 +0200 Subject: [PATCH] Enable MSBuild node reuse defaults in eng/Build.ps1 and eng/build.sh 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 (7a6448eda0, f4bd2211d8) 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> --- eng/Build.ps1 | 2 -- eng/build.sh | 3 --- 2 files changed, 5 deletions(-) diff --git a/eng/Build.ps1 b/eng/Build.ps1 index 01ff6313626..ad397df6acb 100644 --- a/eng/Build.ps1 +++ b/eng/Build.ps1 @@ -165,8 +165,6 @@ function Process-Arguments() { $script:useGlobalNugetCache = $False } - $script:nodeReuse = $False; - if ($testAll) { $script:testDesktop = $True $script:testCoreClr = $True diff --git a/eng/build.sh b/eng/build.sh index 7e0d6dd2a87..540e9c14e5f 100755 --- a/eng/build.sh +++ b/eng/build.sh @@ -303,9 +303,6 @@ function BuildSolution { quiet_restore=true fi - # Node reuse fails because multiple different versions of FSharp.Build.dll get loaded into MSBuild nodes - node_reuse=false - # build bootstrap tools # source_build=In source build proto does no work, except cause sourcebuild in wrapper to build bootstrap_dir=$artifacts_dir/Bootstrap