Skip to content

Latest commit

 

History

History
75 lines (59 loc) · 3.57 KB

gardener.md

File metadata and controls

75 lines (59 loc) · 3.57 KB

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. 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).

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 (Google-internal link).

Contacting the Gardeners

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.

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.