-
Notifications
You must be signed in to change notification settings - Fork 359
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Announcing the .NET Virtual Monolithic Repository #11584
Comments
did you consider git subtree or submodules for building the virtual mono-repo? I expect you have, so would be interested to know why it wasn't considered the best option |
@dotnet/distro-maintainers |
Actually I see now there is a very clear design doc that covers the possible approaches and why you chose not to use submodules |
The links in the list of components in the README are wrong: every single one of them is 404, because the URL has github.com twice. Edit: the problem is that the URL in the source is missing a slash: it's e.g. |
@premun - Looks like github.com is duplicated - https://github.com/github.com/dotnet/linker/commit/dc5e60f5f2becf0b462d37ad918443126e80b49b |
@mungojam yes, though this document gives you only a part of the answer. It doesn't quite explain why not a subtree (or other things such as subrepo). Outside of merging the repositories into one, we've had more requirements such as being able to filter what files/folders we want to bring in (for instance, we cannot allow binaries to get into the VMR). Part of the decision process, what options we leveraged and why we went with a custom solution is described here. |
Looks like the |
Github markdown automatically replaces SHA hashes with a link to the commit. I'm not sure what the heck it does during replacement, but it does the replacement over the invalid URLs (i.e. start with |
@peteraritchie The repo is populated/updated via changes in dotnet/installer, including the link generate. So I think the fix needs to be in there. But @premun knows best. |
@peteraritchie I've looked into it and that list is auto-generated, so to fix it permanently, I've just submitted dotnet/arcade-services#2105. |
razor-compiler stayed the same. razor-tooling got renamed |
razor-compiler is effectively archived though. All the functional sources that participate in the SDK are now in razor. |
I'm not seeing dotnet/winforms, dotnet/wpf or dotnet/windowsdesktop in the list. What's the thinking around those? |
We're starting with the components of the Linux SDK to start. Windows components will come later. |
@RussKie They'll probably get added in towards the end of net8, or at whatever point we get close to being able to build windows. |
Some of the issues addressed around patch management seem to rhyme with solutions I've seen built on https://www.gerritcodereview.com/ maybe room for future collaboration? |
Building the .NET product from individual product repos in the dotnet organization is a complex process requiring orchestration infrastructure that is available only to Microsoft. This is a hindrance to the .NET community as it's currently not possible to easily reproduce the official product build in the open. Furthermore, the complexity of the official build and release infrastructure tends to grow over the years. This presents many reliability and sustainability challenges.
To address the abovementioned issues, we'd like to announce a new repository - https://github.com/dotnet/dotnet - which is the first step on the way to simplify building and shipping of .NET and making the product build process transparent to and reproducible by the community.
This new repository is a Virtual Monolithic Repository (VMR). It includes all the code needed to build the .NET SDK, mirrored from the individual product repos (such as dotnet/roslyn or dotnet/runtime). It also includes source-build, our whole-product build system used to build .NET by our Linux partners.
The VMR has the following main characteristics:
The repository is a work-in-progress and has a lot of limitations but we believe that even with these limitations it can be already useful in a variety of scenarios.
🎯 Goals of the Virtual Monolithic Repository
📖 Further reading
In case you are interested in knowing more about the why's and how's of VMR's purpose, design and architecture, you may find the following set of documents interesting:
The build of the VMR is made possible by the .NET Source-Build.
The text was updated successfully, but these errors were encountered: