Skip to content

Enable VMR verification of additional repo dependencies #5031

@NikolaMilosavljevic

Description

@NikolaMilosavljevic

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions