Improve contributor onboarding experience/docs #11320
Replies: 8 comments 16 replies
-
From here by @EmilAlipiev
|
Beta Was this translation helpful? Give feedback.
-
I don't usually have windows workflow installed on the machine and first time visual studio prompts me to install additional workflows, but even after that building the solution fails and I just unload all the windows projects. Maybe it would be possible to add what projects to unload so the solution builds without the windows part? |
Beta Was this translation helpful? Give feedback.
-
Project is also pretty large. When I open the project. this is what i see in my task manager. We need to get rid off or archive old test cases and clean other unnecessary stuffs. |
Beta Was this translation helpful? Give feedback.
-
Several issues:
How about a magic shell/PowerShell script that
And another pre-PR script that
GitHub could do most of this itself. It would also make a pretty impressive enhancement to any IDE. |
Beta Was this translation helpful? Give feedback.
-
One other thing i would like to mention. before there were nightly builds, betas etc and i dont see them any longer. I think that something is still happening in nightly builds but not exactly sure what because when i see what was merged daily, it is not much. For example, other day i fixed a crucial bug in CollectionView which blocks me to use it in UWP while i cannot use mouse to scroll it. This is probably priority 1-2 fix because it makes it not usable in Uwp. When should i expect this to be merged? I mean at least nightly or beta would be convenient for such important fixes: But I sent PR to Main. so I guess that it will be merged into Main directly? Shouldnt we have another beta or staging branch to merge first into Beta? |
Beta Was this translation helpful? Give feedback.
-
At one point we were testing out a direction of having a simplified SLN users can contribute to like this https://github.com/PureWeen/Xamarin.Forms.Sandbox Just provide a very targeted "Contributor.sln" where contributors can demonstrate a fix or an API Remove all the current galleries and just focus it down to the platforms and a MainPage Even tell users they can just ignore writing any unit tests/UI Tests If you can just create a MainPage showing it's fixed or the new api works We'll just shove that into the Gallery :-) |
Beta Was this translation helpful? Give feedback.
-
One thing I'd love to be able to do as a new contributor is have a client application running on a device, and step through into the checked-out Forms source code underneath. Whilst it's possible to make a UI Test in the Forms solution to replicate scenarios, sometimes we see bugs first in our own applications using Forms, and often there are a lot of factors at play in a production app, and so I think this would be a great way for us to easily investigate and move to wards producing a minimal reproduction, which is most likely the first step towards being able to contribute a Forms PR. It's also a very fast feedback way to make experimental changes in the local Forms source and have them run inside your client application. I feel like this scenario is likely already possible, but despite reaching out a couple of times and following all the documentation I could find, I wasn't able to get this working, or to find a "definitive" guide, and so perhaps this is something that would be useful to include in a contributing section? Below is a summary of the path I've taken so far using the resources I could find. I first found this blog post from 2018, https://devblogs.microsoft.com/xamarin/debugging-xamarin-forms/, and I was able to follow it to get a Nuget package built, and have my application consume this Nuget package. This was Visual Studio 2019 on Windows, debugging an Android application on a physical device. However, I was unable to have VS step into the Forms.Init(...), call, instead the IDE stepped over the line. I feel as well like I could be missing a step, as it's not clear to me how the IDE would know where the source files are located, even though the symbols are in the Nuget package. I then found this document, https://github.com/xamarin/Xamarin.Forms/wiki/How-to-Build-Xamarin.Forms-NuGet, and was able to build another Nuget package using the powershell scripts and Cake, but with the same result as before in the IDE. I've also been pointed towards SourceLink, https://docs.microsoft.com/en-us/xamarin/xamarin-forms/internals/sourcelink?pivots=windows, but this document mentions that Android is not supported on Windows, whereas Windows seems to be the recommended platform on which to build Forms. I'm also not clear if SourceLink is suitable for local debugging, or if it requires files the source files to be hosted online? |
Beta Was this translation helpful? Give feedback.
-
To be honest I have struggled a lot to be able to contribute. And I hate to see others struggle like I did (and I am still struggling). |
Beta Was this translation helpful? Give feedback.
-
I would love to improve the contributor onboarding experiencing. Which probably has a lot to do with having a good "getting starting" documentation on everything you want to know.
The thing that is not clear to me is where first-time contributors would go and look. Is the contributing.md the first thing people will go look for? Will you start on the wiki? What could help to make you clear where to start?
Besides from establishing the right location, we should also think about content. Things I would say that are important:
What else should be in there that is important for you to know before you start?
If we want to get all of this in a contributing guide, I circle back to location. To structure all of this the wiki would probably be a better option. Of course it's not a zero sum decision; the contributing.md could also be a summary and pointing to different other resources.
When the wiki is indeed being used; how easy is it to port that to .NET MAUI? Besides just copy/pasting everything.
Every and any insight is much appreciated!
Beta Was this translation helpful? Give feedback.
All reactions