Skip to content

Build VMR repo tools in PRs and fix issues#3591

Merged
ViktorHofer merged 8 commits intodotnet:mainfrom
akoeplinger:validate-tools
Dec 5, 2025
Merged

Build VMR repo tools in PRs and fix issues#3591
ViktorHofer merged 8 commits intodotnet:mainfrom
akoeplinger:validate-tools

Conversation

@akoeplinger
Copy link
Copy Markdown
Member

@akoeplinger akoeplinger commented Nov 27, 2025

The ChangeValidation tool broke recently because DarcLib from arcade-services bumped Octokit and Newtonsoft.Json and they got downgraded via CPM in the VMR, but we never noticed since we only run the tool outside of darc dependency flow PRs.

Build the tools in the validation stage in PRs to prevent this and fix the version issues.

The ChangeValidation tool broke recently because DarcLib from arcade-services bumped Octokit and Newtonsoft.Json and they got downgraded via CPM in the VMR.
Build the tools in the validation stage in PRs to prevent this.
Copy link
Copy Markdown
Contributor

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 addresses a build issue where the ChangeValidation tool broke due to dependency version conflicts. The fix involves building repository tools during PR validation and updating package versions to prevent Central Package Management (CPM) from downgrading Octokit and Newtonsoft.Json packages required by DarcLib from arcade-services.

  • Created a new aggregator project repo-tools.proj to build tools during validation
  • Updated package versions (Microsoft.Extensions.* 9.0.0→10.0.0, Newtonsoft.Json 13.0.3→13.0.4, Octokit 13.0.1→14.0.0)
  • Suppressed CS8002 warning in ChangeValidation for unsigned DarcLib assemblies

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
eng/tools/repo-tools.proj New aggregator project to build BinaryToolKit, BuildComparer, ChangeValidation, and CreateBaselineUpdatePR tools
eng/tools/ChangeValidation/ChangeValidation.csproj Added CS8002 suppression for unsigned DarcLib assemblies
eng/pipelines/templates/stages/vmr-verticals.yml Added /p:BuildRepoTools=true property to build tools during Linux and Windows PR validation builds
eng/Versions.props Updated Microsoft.Extensions.* packages from 9.0.0 to 10.0.0, added Microsoft.Extensions.Hosting 10.0.0, updated Newtonsoft.Json to 13.0.4 and Octokit to 14.0.0
build.proj Added conditional project reference to repo-tools.proj when BuildRepoTools property is true

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

Copy link
Copy Markdown
Member

@ViktorHofer ViktorHofer left a comment

Choose a reason for hiding this comment

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

Any reason to not just always build them, when not building source only?

@akoeplinger
Copy link
Copy Markdown
Member Author

@ViktorHofer yeah I was wondering that too. the only reason I can think of is saving a bit of build time.

@ViktorHofer ViktorHofer enabled auto-merge (squash) December 4, 2025 22:21
@ViktorHofer ViktorHofer merged commit b5516cd into dotnet:main Dec 5, 2025
11 checks passed
adamzip pushed a commit to adamzip/dotnet that referenced this pull request Jan 25, 2026
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Co-authored-by: Přemek Vysoký <premek.vysoky@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

6 participants