-
Notifications
You must be signed in to change notification settings - Fork 80
Description
VMR verification in repo PRs was enabled as part of #4539, with various PRs including: dotnet/arcade#15840, dotnet/arcade#15915, dotnet/dotnet#548, dotnet/dotnet#1189
Those PRs enabled VMR verification in repos that flow directly into VMR. Verification of additional repos, that flow together with another repo is not implemented. There is only one example: nuget.client flowing with sdk.
There are options to enable this. One idea is to provide another parameter in repo-level pipeline, that would specify additional repos to be synced with main repo.
Implementation would include:
- Obtain correct SHAs of dependent repos
- Sync those repos into target VMR clone
Part of this code already exists, but it is untested and likely will require some changes. For instance, the use of darc tool is not straightforward as it requires toolset manifest to be added to the repo for discovery of .NET tools.
Alternatively, any native Windows/Linux tooling could be used instead of darc to obtain repo shas from Version.Details.xml. Here's where current, unused, code lives: https://github.com/dotnet/arcade/blob/aea743edf7c9345cfdbdf9593756973baadc6b37/eng/common/templates/steps/vmr-sync.yml#L120-L207 Note that additionalSyncs parameter is unused.
A way to fix these issues might be to push this code into vmr-sync scripts as we have darc tool restored and available for use, in those scripts. Example: https://github.com/dotnet/arcade/blob/aea743edf7c9345cfdbdf9593756973baadc6b37/eng/common/vmr-sync.sh#L167