Description
The dart-lang/sdk
Gerrit review and submission process is one that (understandably) has limitations for external contributors. It has however recently gotten harder with the requirement for approvals from two googlers. Enforcing the OWNERS file has made this even harder.
A few common scenarios/issues, both old and new:
- You are new to contributing to the SDK and open a CL. You might not know labeling practices or contribution standards, so you don't assign a reviewer and no one ever sees it in their triage process. So it sits there awkwardly.
- Even if you know to assign reviewers. Who do you assign it to? One, two, all of the OWNERS for your changes? Non-googlers can't easily determine who works on what or if that person is on leave or whatever. It also feels bad to assign a reviewer, like you're adding to their work, so you may not want to.
- Open a CL. You can't run (or rerun after fail or changes) the try bots, and need to ask someone else to do so.
- CL is approved but reviewers don't submit (CQ+2) the change since they think you can do it. Now you need to ping and distract them again to submit the change or else it will sit there. If there's an issue or merge conflict, you then need to do the whole asking and waiting process again.
- CL is approved by one Googler, even if simple, but you now need to find a second Googler.
These types of issues (and more) exist for all external contributors. Perhaps there's no perfect solution for all of these depending on Google's requirements, but a special group like Flutter hackers could maybe help for the most common cases. It could contain contractors, nominated long-term contributors, past Google employees that continue contribution, etc.
I imagine this group would benefit from some or all of the following, depending on what is permissible by Google's policies:
- Can run their desired try bots
- Can submit their own changes that have the necessary approvals
- Only need one Googler approval
- Not as necessary: Ability to LGTM isn't as important, especially since OWNERs are used now.
Other potential/alternative improvements, that would help all external contributors:
If a group like that is not allowed/possible, some additions to the Gerrit UI for (Google) reviewers of non-Google CLs could be helpful. The changes would also help external contributors not part of a trusted group:
- When leaving a review on a CL, if there isn't another reviewer added, it should prompt to add one. This is especially important for external contributors who may not know who to request a review from. Autoassigning reviewers based on OWNERS when a non-Google CL is opened is also an option.
- Could notify the viewer/reviewer to run the related try bots, since the author can't.
- After the second approval, it could ask that approver if they want to submit the change (since the author can't).
- Edit (Added): Relating to
@Hixie
's mentions below, more standard and frequent CL triage processes by teams could help some of these issues.