arcade-services
arcade-services copied to clipboard
Prepare tooling and plan for switch onto the new flat dependency flow
Context
As laid out in the Unified Build design documentation, the planned code flow for .NET 9 will change and the individual repositories will only receive and send updates from/to the VMR and not between each other, so the situation looks like this (see VMR Code and Build Workflow for details):
flowchart TD
subgraph Traditional[Traditional Flow -- .NET 8 and previous]
tradEmsdk[emsdk]
tradRuntime[runtime]
tradWinforms[winforms]
tradWPF[wpf]
tradWindowsDesktop[windows-desktop]
tradEFCore[efcore]
tradASPNetCore[aspnetcore]
tradTemplating[templating]
tradSDK[sdk]
tradInstaller[installer]
tradRoslyn[roslyn]
tradMSBuild[msbuild]
tradNuGet[nuget]
tradFSharp[fsharp]
tradEmsdk-->|Build Outputs|tradRuntime
tradRuntime-->|Build Outputs|tradWinforms
tradRuntime-->|Build Outputs|tradTemplating
tradRuntime-->|Build Outputs|tradSDK
tradRuntime-->|Build Outputs|tradASPNetCore
tradRuntime-->|Build Outputs|tradEFCore
tradWinforms-->|Build Outputs|tradWPF
tradWPF-->|Build Outputs|tradWindowsDesktop
tradWindowsDesktop-->|Build Outputs|tradSDK
tradEFCore-->|Build Outputs|tradASPNetCore
tradASPNetCore-->|Build Outputs|tradSDK
tradTemplating-->|Build Outputs|tradSDK
tradRoslyn-->|Build Outputs|tradSDK
tradMSBuild-->|Build Outputs|tradSDK
tradNuGet-->|Build Outputs|tradSDK
tradFSharp-->|Build Outputs|tradSDK
tradSDK-->|Build Outputs|tradInstaller
end
subgraph VMR[VMR Flow -- .NET 9+]
vmrRuntime-->vmrVMR
vmrWinforms-->vmrVMR
vmrWPF-->vmrVMR
vmrWindowsDesktop-->vmrVMR
vmrEFCore-->vmrVMR
vmrASPNetCore-->vmrVMR
vmrTemplating-->vmrVMR
vmrEmsdk-->vmrVMR
vmrSDK-->vmrVMR
vmrInstaller-->vmrVMR
vmrRoslyn-->vmrVMR
vmrMSBuild-->vmrVMR
vmrNuGet-->vmrVMR
vmrFSharp-->vmrVMR
vmrEmsdk[emsdk]
vmrRuntime[runtime]
vmrWinforms[winforms]
vmrWPF[wpf]
vmrWindowsDesktop[windows-desktop]
vmrEFCore[efcore]
vmrASPNetCore[aspnetcore]
vmrTemplating[templating]
vmrSDK[sdk]
vmrInstaller[installer]
vmrRoslyn[roslyn]
vmrMSBuild[msbuild]
vmrNuGet[nuget]
vmrFSharp[fsharp]
vmrVMR[VMR]
vmrVMR-->vmrEmsdk
vmrVMR-->vmrRuntime
vmrVMR-->vmrWinforms
vmrVMR-->vmrWPF
vmrVMR-->vmrWindowsDesktop
vmrVMR-->vmrEFCore
vmrVMR-->vmrASPNetCore
vmrVMR-->vmrTemplating
vmrVMR-->vmrSDK
vmrVMR-->vmrInstaller
vmrVMR-->vmrRoslyn
vmrVMR-->vmrMSBuild
vmrVMR-->vmrNuGet
vmrVMR-->vmrFSharp
end
Traditional-->VMR
Goal
We need to assure a smooth transition from the old flow to the new one by preparing a plan for the transition:
- Identify the order in which to move the repositories (bottom/top).
- Schedule communication to repo owners to orchestrate the transition with as few disruptions to developers as possible.
- Create tooling/scripts/manuals for repo owners (or ourselves) to follow that will re-map the current subscriptions onto the VMR.
T-Shirt Size: M