wiki:WebKitGTK/KeepingTheTreeGreen
Last modified 2 months ago Last modified on 02/09/15 11:19:30

(courtesy of Martin Robinson, who introduced the notion of Garderner in WebKit world of fame)

  1. Keep the tree green: the gardener on a given day will diagnose all bot redness and try to form a hypothesis for each failure. In my experience there are several types of failures:
    1. The GTK+ port is lacking some feature or has a bug: In this case the gardener will figure out exactly what the problem is, open a bug with as much information as possible including test diffs and links to relevant bugs. The gardener will CC any people involved in WebKitGTK+ who would might know how to fix the problem.
    2. A test is exposing a general WebKit bug that only GTK+ triggers (often the case with JavaScriptCore and inspector tests): In this case the gardener will leave a comment on the original bug with the test diff or stack trace (for something like an assertion failure) and offer to gather more information for the original patch author (even resorting to debugging directly on the bots if it cannot be reproduced locally).
    3. A test is missing expectations or needs new expectations: The gardener will generate new expectations after verifying that the tests seem to work when run manually or by looking at the expected results.
    4. A DRT feature is missing: The gardener will open a bug. The idea is that we will completely avoid skipped tests with no information about the failure.
  1. If the tree isn't red, the gardener should be able to choose how to spend the day:
    1. Generating results for tests that do not have results (soon this will include pixel results as well).
    2. Diagnosing and opening bugs for failures that do not have open bugs (there's a huge list). This also includes unskipping tests that are passing.
    3. Implementing missing DRT features. There are a ton of these and we need to kill them. Using DRTSupportGtk we can do it without making API decisions.
  1. At the end of the day the gardener should keep a very simple log for tomorrow's gardener, so he/she can follow up with any pending investigations. This will also help us keep track of newly skipped tests. See the Gardening/Calendar entry.

Check the gardening instructions at Gardening/Howto