Gardeners have one overarching role: to ensure that the Chromium build infrastructure is doing its job of helping developers deliver good software. Every other gardener responsibility flows from that one. In priority order, gardeners need to ensure that:
- The tree is open, because when the tree is closed nobody can make progress;
- New test failures are not introduced, because they weaken our assurance that we're shipping good code;
- Existing test failures are repaired, for the same reason
As the gardener, you not only have those responsibilities, but you have any necessary authority to fulfill them. In particular, you have the authority to:
- Revert changes that you know or suspect are causing breakages
- Disable or otherwise mark misbehaving tests
- Use Owners-Override label to override OWNERS checks freely as part of your gardening duties
- Pull in any other engineer or team you need to help you do these duties
- For clean reverts and cherry-picks, add the Rubber Stamper bot. All other changes require a +1 from another committer.
TBRs were removed in Q1 2021.
There are a number of different gardening rotations. For more information on gardening, including How Tos, Swapping Shifts and rotation updates, please see Chromium Trunk Gardening (Google-internal link).
To be a gardener, you must be both a Chromium committer and a Google employee. For more detailed gardening instructions, please see the internal documentation at go/chrome-gardening-how-to (Google-internal link).
The currently oncall gardeners can be viewed in the top-left corner of the Chromium Main Console. You can also get in touch with gardeners using the #gardening Slack channel.
As part of their role, gardeners will triage open test failures and flakes. If possible, they will identify a culprit CL and revert it; however, sometimes this is not feasible. In that case, gardeners will assign these bugs to appropriate owners. They typically do this by looking for:
- The test author, or last person to make significant changes, or
- A proximal OWNER of the test
Pro-tip: Gardeners, identify yourself in your comments, e.g., "[Gardener] assigning to the test author for further triage."
If you are assigned a bug by a gardener, please don't pass the bug back to that person. Gardeners have likely never seen the code before (or since), and are unlikely to be much help. Additionally, if >8 hours have passed, that person is no longer gardener, and thus no longer responsible for triaging these bugs.
Instead, if you aren't the best owner for the bug, please help to triage it
more appropriately, since you're probably the test author, familiar with the
test, or an OWNER. If have no idea who a good owner for the test is (or were
assigned the bug in error*), you can reapply the Gardener-Chromium
label and
flip the status to Untriaged
; this will put it back in the gardener queue for
the next gardener to take a look at. Please only do this as a last resort, since
the next gardener is unlikely to have any more information about the issue.
*If you believe you were assigned the bug in error, it might be worth finding out why the gardener passed it to you, and remedying it if possible - e.g. by updating OWNERS files.