arcade-services icon indicating copy to clipboard operation
arcade-services copied to clipboard

darc vmr forwardflow ux issues

Open mmitche opened this issue 1 week ago • 0 comments

darc vmr forwardflow's UX could use some work.

  • If forwardflowing a subscription or ID, it's not obvious why you would need to run the command from the source repo's enlistment. However, if you do not, then you get this non-obvious error:
PS C:\d> darc vmr forwardflow --subscription 0b3bbcef-3584-48a2-be30-645edcab5d8e --vmr C:\d\
info: Simulating subscription '0b3bbcef-3584-48a2-be30-645edcab5d8e':
info:   Source: https://github.com/dotnet/roslyn (channel: .NET 10.0.2xx SDK)
info:   Target: https://github.com/dotnet/dotnet#release/10.0.2xx
info:   Target directory: roslyn
info:   Latest build: 20260108.8 (BAR ID: 296517)
info:   Build commit: 64a0ad84c3cc142832a6ba6ded48eaf2125fa85e
info:
info: Flowing build 20260108.8 (296517) of commit 64a0ad8...
fail: The command terminated unsuccessfully.
      Could not find eng/Version.Details.xml in C:\d.

This is because the code is finding the sha of the roslyn build for that subscription, but that sha doesn't exist in the VMR.

When forwardflowing a build, it should not be necessary to have a local clone.

  • If you do figure out what's going on, you then try from the roslyn dir, but you get similar results:
PS C:\r\roslyn> darc vmr forwardflow --subscription 0b3bbcef-3584-48a2-be30-645edcab5d8e --vmr C:\d\
info: Simulating subscription '0b3bbcef-3584-48a2-be30-645edcab5d8e':
info:   Source: https://github.com/dotnet/roslyn (channel: .NET 10.0.2xx SDK)
info:   Target: https://github.com/dotnet/dotnet#release/10.0.2xx
info:   Target directory: roslyn
info:   Latest build: 20260108.8 (BAR ID: 296517)
info:   Build commit: 64a0ad84c3cc142832a6ba6ded48eaf2125fa85e
info:
info: Flowing build 20260108.8 (296517) of commit 64a0ad8...
fail: The command terminated unsuccessfully.
      Could not find eng/Version.Details.xml in C:\r\roslyn.

This is because if you haven't fetched the roslyn sha, the checkout again fails.

  • The help isn't great. From the vmr forwardflow help, it seems to say that you pass C:\d as a positional arg:

value pos. 0 Path to the VMR to flow the current commit to

However, this doesnt' seem to be the case. This isn't required. Instead, it's passed with --vmr

mmitche avatar Jan 09 '26 21:01 mmitche