chromium/docs/gardener.md

# Chromium Gardening

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:

1. **The tree is open**, because when the tree is closed nobody can make
   progress;
2. **New test failures are not introduced**, because they weaken our assurance
   that we're shipping good code;
3. **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](code_reviews.md#automated-code_review). All other
  changes require a +1 from another committer.

TBRs were removed in Q1 2021.

For more information on Chromium Trunk Gardeners, including How Tos, Swapping
Shifts and rotation updates, please see [Chromium Trunk Gardening](https://goto.google.com/chrome-trunk-gardening)

## How to be a Gardener

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](https://goto.google.com/chrome-gardening-how-to).

## Contacting the Gardeners

The currently oncall gardeners can be viewed in the top-left corner of the
[Chromium Main Console](https://ci.chromium.org/p/chromium/g/main/console). You
can also get in touch with gardeners using the
[#gardening Slack channel](https://chromium.slack.com/messages/CGJ5WKRUH/).

## Please don't pass bugs back to the gardener that assigned them to you
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:

1. The test author, or last person to make significant changes, or
2. 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.