Skip to content

Conversation

SimaTian
Copy link
Member

MSBUILD Server dogfood

Part of #9379

Please help us with our dofgooding effort for the MSBuild server feature.
For now we've dogfooded internally for our pipelines, we're running without issues within Aspnetcore and we would like to continue the rollout before we're confident enough to make Server build the new default.

@Copilot Copilot AI review requested due to automatic review settings May 20, 2025 07:58
@github-actions github-actions bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label May 20, 2025
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enables the MSBuild server feature in CI by setting the MSBUILDUSESERVER variable.

  • Introduces a new pipeline variable to dogfood the MSBuild server
  • Enables internal rollout for AspNetCore builds
Comments suppressed due to low confidence (1)

eng/pipelines/common/variables.yml:47

  • [nitpick] The variable name is in all-caps without separators; consider using a consistent naming style (e.g., camelCase or kebab-case) to match other pipeline variables.
name: MSBUILDUSESERVER

@SimaTian
Copy link
Member Author

SimaTian commented May 20, 2025

Note: I'm not familiar with your pipelines. Turning on MSBUILD server is done via setting the environment variable MSBUILSUSESERVER to 1 so that is what I was trying to achieve.
If there is a better place to do it, please let me know.

While checking the binlog of the failed check it claims that MSBUILDUSESERVER=0 so I probably placed the variable at a wrong spot.
Or maybe I have to set env:MSBUILDUSESERVER=1 instead?
Any insight will be appreciated.

@ViktorHofer
Copy link
Member

@jkoritzinsky where's the best place to set an env var in runtime's YML that should impact all msbuild invocations?

@jkoritzinsky
Copy link
Member

I'd put it in global-build-step.yml.

That will catch almost all product builds (not runtime tests).

Removed redundant environment variable definitions for MSBUILDUSESERVER and DOTNET_CLI_USE_MSBUILD_SERVER.
@SimaTian SimaTian merged commit 121c2f5 into main Sep 19, 2025
155 checks passed
xtqqczze pushed a commit to xtqqczze/dotnet-runtime that referenced this pull request Sep 20, 2025
* updating based on review with Jemery Koritzinsky

* Clean up environment variable definitions

Removed redundant environment variable definitions for MSBUILDUSESERVER and DOTNET_CLI_USE_MSBUILD_SERVER.

* adding an escape hatch for the dogfood

* minor cleanup

* Fix environment variable name for MSBuild server

* affordance for old powershell
@jkotas jkotas deleted the MSBUILD-dogfood branch September 22, 2025 13:48
jkotas added a commit that referenced this pull request Sep 22, 2025
@jkotas
Copy link
Member

jkotas commented Sep 22, 2025

@SimaTian We have started intermittent build failures in the CI on nearly every PR - see #119939 .

These failures were likely introduced in by this change. I am reverting this change in #119954 to see whether it fixes the CI problems.

jkotas added a commit that referenced this pull request Sep 22, 2025
@jkotas
Copy link
Member

jkotas commented Sep 22, 2025

I do not see the intermittent build failures anymore after the revert.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

6 participants