Skip to content
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

Open
ArthurSens opened this issue Nov 21, 2024 · 0 comments
Open

[Repository automation] Flatten hierarchy for merge rights #36492

ArthurSens opened this issue Nov 21, 2024 · 0 comments
Labels
needs triage New item requiring triage

Comments

@ArthurSens
Copy link
Member

ArthurSens commented Nov 21, 2024

Problem statement

When an external contributor works on a PR, this is the current process:

  • Contributor and reviewers work together on a PR.
  • Codeowner approves PR.
  • Collector approver adds "Ready to merge" label.
  • Collector maintainers go over PRs with the "Ready to merge" label and merge them or remove the label if a new conflict has appeared.

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:

  • Contributor - who has to maintain an open PR for too long, often resolving merge conflicts several times and having to "hunt" approvers and maintainers.
  • Code owners - who feel impotent in helping the contributor besides pinging people over GitHub/Slack.
  • Approvers/Maintainers - who are the busiest people and are constantly pinged with "please merge my PR" only to find a merge conflict.

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:

  • Empower code owners to merge PRs related to their components.
    or
  • Empower collector approvers to merge PRs.
    or
  • Automate the addition of the "Ready to merge" label so we can speed up the process by removing one step.

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?

@ArthurSens ArthurSens added the needs triage New item requiring triage label Nov 21, 2024
@ArthurSens ArthurSens changed the title [Repository automation] Automate addition of "Ready to merge" label [Repository automation] Flatten hierarchy for merge rights Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs triage New item requiring triage
Projects
None yet
Development

No branches or pull requests

1 participant