From 58011e2fd267c24dd4d62c94e4a5f081f5284dba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emek=20Vysok=C3=BD?= Date: Fri, 26 Jan 2024 12:06:52 +0100 Subject: [PATCH] Add synchronization of the uncloacked `main-ub` VMR branch (#18405) --- eng/pipelines/vmr-sync.yml | 14 +- src/VirtualMonoRepo/source-mappings-ub.json | 196 ++++++++++++++++++++ 2 files changed, 204 insertions(+), 6 deletions(-) create mode 100644 src/VirtualMonoRepo/source-mappings-ub.json diff --git a/eng/pipelines/vmr-sync.yml b/eng/pipelines/vmr-sync.yml index 6659887f1..35a792c28 100644 --- a/eng/pipelines/vmr-sync.yml +++ b/eng/pipelines/vmr-sync.yml @@ -32,10 +32,12 @@ variables: - ${{ else }}: - name: VmrBranch value: ${{ replace(replace(variables['Build.SourceBranch'], 'refs/heads/', ''), 'refs/pull/', '') }} - + jobs: - - template: /eng/pipelines/templates/jobs/vmr-synchronization.yml - parameters: - vmrBranch: ${{ variables.VmrBranch }} - - \ No newline at end of file +- template: /eng/pipelines/templates/jobs/vmr-synchronization.yml + parameters: + vmrBranch: ${{ variables.VmrBranch }} + +- template: /eng/pipelines/templates/jobs/vmr-synchronization.yml + parameters: + vmrBranch: ${{ variables.VmrBranch }}-ub diff --git a/src/VirtualMonoRepo/source-mappings-ub.json b/src/VirtualMonoRepo/source-mappings-ub.json new file mode 100644 index 000000000..943c5efb5 --- /dev/null +++ b/src/VirtualMonoRepo/source-mappings-ub.json @@ -0,0 +1,196 @@ +// This file configures where the VMR synchronizes the sources from. +// Each development repository has a mapping record which says where the remote repo is, +// what files are in/excluded from the sync, etc. +// +// This file does not contain information about what version of sources is synchronized. +// Please check the source-manifest.json file for that purpose. +// +// More details on this file's mechanics: +// https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/VMR-Design-And-Operation.md#repository-source-mappings +{ + // Location within the VMR where the source-build patches are stored + // These patches are applied on top of the code synchronized into the VMR + "patchesPath": "src/installer/src/SourceBuild/patches", + + "sourceMappingsPath": "src/installer/src/VirtualMonoRepo/source-mappings-ub.json", + + // Some files are copied outside of the src/ directory into other locations + // When files in the source paths are changed, they are automatically synchronized too + "additionalMappings": [ + { + "source": "src/installer/src/SourceBuild/content", + "destination": "" + }, + { + "source": "src/installer/eng/common", + "destination": "eng/common" + }, + { + "source": "src/installer/src/VirtualMonoRepo/source-mappings-ub.json", + "destination": "src" + } + ], + + // These defaults are added to all mappings unless `ignoreDefaults: true` is specified + // When no "include" filter is specified, "**/*" is used + // The default filters do not apply to submodules + // Only filters which start with submodule's path are applied when syncing submodules + "defaults": { + "defaultRef": "main", + "exclude": [] + }, + + // Each of these mappings has a corresponding folder in the src/ directory + "mappings": [ + { + "name": "arcade", + "defaultRemote": "https://github.com/dotnet/arcade" + }, + { + "name": "aspire", + "defaultRemote": "https://github.com/dotnet/aspire", + "exclude": [ + "src/Aspire.Dashboard/**/*" + ] + }, + { + "name": "aspnetcore", + "defaultRemote": "https://github.com/dotnet/aspnetcore" + }, + { + "name": "cecil", + "defaultRemote": "https://github.com/dotnet/cecil" + }, + { + "name": "command-line-api", + "defaultRemote": "https://github.com/dotnet/command-line-api" + }, + { + "name": "deployment-tools", + "defaultRemote": "https://github.com/dotnet/deployment-tools" + }, + { + "name": "diagnostics", + "defaultRemote": "https://github.com/dotnet/diagnostics" + }, + { + "name": "emsdk", + "defaultRemote": "https://github.com/dotnet/emsdk" + }, + { + "name": "format", + "defaultRemote": "https://github.com/dotnet/format" + }, + { + "name": "fsharp", + "defaultRemote": "https://github.com/dotnet/fsharp" + }, + { + "name": "installer", + "defaultRemote": "https://github.com/dotnet/installer", + "exclude": [ + // We don't need the tarball content in the VMR again, it's already copied in the root + "src/SourceBuild/content/**/*" + ] + }, + { + "name": "msbuild", + "defaultRemote": "https://github.com/dotnet/msbuild" + }, + { + "name": "nuget-client", + "defaultRemote": "https://github.com/NuGet/NuGet.Client", + "defaultRef": "dev" + }, + { + "name": "razor", + "defaultRemote": "https://github.com/dotnet/razor" + }, + { + "name": "roslyn", + "defaultRemote": "https://github.com/dotnet/roslyn" + }, + { + "name": "roslyn-analyzers", + "defaultRemote": "https://github.com/dotnet/roslyn-analyzers" + }, + { + "name": "runtime", + "defaultRemote": "https://github.com/dotnet/runtime" + }, + { + "name": "scenario-tests", + "defaultRemote": "https://github.com/dotnet/scenario-tests" + }, + { + "name": "sdk", + "defaultRemote": "https://github.com/dotnet/sdk" + }, + { + "name": "source-build-externals", + "defaultRemote": "https://github.com/dotnet/source-build-externals", + "exclude": [ + "src/application-insights/**/*.exe", + "src/application-insights/**/*.dll", + "src/application-insights/**/*.zip", + "src/application-insights/**/NuGet.config", + "src/humanizer/samples/**/*.js", + "src/newtonsoft-json/**/NuGet.Config", + "src/spectre-console/docs/**", + "src/spectre-console/NuGet.Config", + "src/spectre-console/examples/Console/Canvas/Mandelbrot.cs", + "src/xunit/NuGet.Config" + ] + }, + { + "name": "source-build-reference-packages", + "defaultRemote": "https://github.com/dotnet/source-build-reference-packages" + }, + { + "name": "sourcelink", + "defaultRemote": "https://github.com/dotnet/sourcelink" + }, + { + "name": "symreader", + "defaultRemote": "https://github.com/dotnet/symreader" + }, + { + "name": "templating", + "defaultRemote": "https://github.com/dotnet/templating" + }, + { + "name": "test-templates", + "defaultRemote": "https://github.com/dotnet/test-templates" + }, + { + "name": "vstest", + "defaultRemote": "https://github.com/microsoft/vstest" + }, + { + "name": "xdt", + "defaultRemote": "https://github.com/dotnet/xdt" + }, + { + // TODO: Remove the xliff-tasks mapping once the synchronization flags it as unused + // We no longer synchronize it but we can't remove it yet until + // it disappears from all of the Version.Details.xml files. + // https://github.com/dotnet/installer/issues/17661 + "name": "xliff-tasks", + "defaultRemote": "https://github.com/dotnet/xliff-tasks", + "ignoreDefaults": true, + "exclude": [ "**/*" ] + }, + { + "name": "winforms", + "defaultRemote": "https://github.com/dotnet/winforms" + }, + { + "name": "wpf", + "defaultRemote": "https://github.com/dotnet/wpf" + }, + { + "name": "windowsdesktop", + "defaultRemote": "https://github.com/dotnet/windowsdesktop" + } + ] +}