arcade-services
arcade-services copied to clipboard
darc vmr forwardflow ux issues
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