Build VMR repo tools in PRs and fix issues#3591
Conversation
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.
There was a problem hiding this comment.
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.projto 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.
ViktorHofer
left a comment
There was a problem hiding this comment.
Any reason to not just always build them, when not building source only?
|
@ViktorHofer yeah I was wondering that too. the only reason I can think of is saving a bit of build time. |
Added NullRemoteTokenProvider to handle token retrieval.
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com> Co-authored-by: Přemek Vysoký <premek.vysoky@microsoft.com>
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.