-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
[Repository automation] Flatten hierarchy for merge rights #36492
Comments
To me the two low hanging fruit items that would help here:
I am a bit hesitant about the other suggestions, the definitions at the community repo say that only maintainers "[Decide] on when PRs are merged to control the release scope." We can clarify this on the community repository if this is the direction we want to take, but I feel like we should first try to solve this while abiding by the existing project-wide approach. I also feel like we should measure if these have any noticeable improvement. We can use these two dashboards for this:
|
After reading the issue you mentioned, it looks like there are no blockers now. Is there anything I could do to help test this in a smaller repository?
What are the requirements for adding the label, in your opinion? Things that came to my mind:
If any of the requirements aren't met, the automation should also be able to remove the label.
I feel like this definition works great for all repositories except Contrib due to its large pool of code and contributors. Of course, I can't speak for all folks, but my experience as a contributor/code owner is not the best because my PRs/PRs I approve stay open for way too long. I think I've solved more merge conflicts in this repo than the sum of all the other repositories I work on today. I'm not entirely familiar with the process here in OTel (I've been contributing for only a few months), do we need to propose changes to the community repository before making changes here? Or are we free to work on improvements and change the guidelines later? I don't want to overstep whatever process is in place today. With that said, let's work on the low hanging fruits for now and worry about the big changes if we feel like improvements still need to be made :)
Totally agree! Another thing I believe is worth measuring is "Contributor Happiness". I'm not sure how that could be measured though... Maybe the number of contributors that keep contributing after the first PR? |
This is the definition we have right now + human judgement. To sidestep the human judgement bit, maybe we can add if code owner approval + green CI + all convos resolved and remove if CI is not green.
Maybe this is another thing that we can develop better tooling for?
As long as there is no contradiction with what the community guidelines say we can set our own guidance/goals/etc. But I think adding right to merge to people that are not maintainer is probably controversial enough to warrant discussion at the community repository 😄
I am working on an OTel-wide contributor survey which is available here: https://docs.google.com/document/d/1YlwHJlJjuaR4i8VqWf1eIOpT158TOHdLii8iC0ndJXc/edit?tab=t.0 There is also open-telemetry/sig-contributor-experience/issues/28 that can help here. |
Sounds good to me
One thing that could help here is a bot that adds a comment to the PR, tagging the author when new conflicts appear. Unfortunately, GitHub doesn't notify people of merge conflicts, so it usually goes unnoticed for a long time.
Fair, I'll wait a bit to ping on this idea again. But one day, code owners will have their freedom!!!!!!! 😝
Awesome, I'll try to help there |
I think there is less value on the merge conflict part then. But still, the 'ready to merge' automation is nice to have |
I feel that this may be an indication that the collector-contrib repo is too big for its own good. Ultimately, I think this comes down to the collector core framework not being stabilized such that the best (only?) way to remain up-to-date is to have your component in the collector-contrib repo such that maintainers handle mechanistic breaking changes and dependency updates for you. This shouldn't be necessary and there should be many more collector components that live outside of this repo and even outside the open-telemetry organization. Having a merge queue and automation for |
Agree with this but this will take time still. I am more than happy to get help on the Collector v1 effort to make it happen faster if there is interest 😄 |
Filed #36788 to track the remaining steps for the merge queue. @ArthurSens would you like to help with any of those? |
Sure thing! |
Problem statement
When an external contributor works on a PR, this is the current process:
A symptom of this process is that code owners lack the independence to unblock community contributions. Collector approvers/maintainers are a smaller group than component code owners but have more responsibilities within the OpenTelemetry community.
Since the group of people with merge rights is small and we have a multi-layer process to let maintainers know when things should be merged, it's pretty common that PRs that are ready stay open for weeks or even months without people realizing that it's ready to merge.
This leads to a bad experience for multiple parties:
Suggested Improvements
The blame doesn't lie with any particular individual; everyone is doing what they were supposed to do. The poor contributor experience here is a symptom of a vertical hierarchy. The solution is to give more power to the lower levels (code owners) and free maintainers to do more relevant work.
Things we could do:
or
or
How
This is what I'd like to discuss with the community 🙂
To what degree of freedom are the maintainers happy to give code owners?
What kind of automation needs to be built to unblock the freedom we're discussing?
The text was updated successfully, but these errors were encountered: