A sheriff keeps an eye on the tree, DEPS rolls, Gold tool and the Perf tool.
Below is a brief summary of what the sheriff does for each task:
If you have Go installed, a command-line tool is available to search through git history and do text searches on the full patch text and the commit message. To install blamer run:
go get go.skia.org/infra/blamer/go/blamer
Then run blamer from within a Skia checkout. For example, to search if the string “SkDevice” has appeared in the last 10 commits:
$ $GOPATH/bin/blamer --match SkDevice --num 10 commit ea70c4bb22394c8dcc29a369d3422a2b8f3b3e80 Author: robertphillips <robertphillips@google.com> Date: Wed Jul 20 08:54:31 2016 -0700 Remove SkDevice::accessRenderTarget virtual GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2167723002 Review-Url: https://codereview.chromium.org/2167723002
In general, sheriffs should have a strong bias towards actions that keep the tree green and then open; if a simple revert can fix the problem, the sheriff should revert first and ask questions later.
The list of sheriffs is specified in the skia-tree-status web app. The current sheriff is highlighted in green. The banner on the top of the status page also displays the current sheriff.
If you need to swap shifts with someone (because you are out sick or on vacation), please get approval from the person you want to swap with. Then send an email to skiabot@google.com to have someone make the database change (or directly ping rmistry@).
Pay close attention to the “Failures” view in the status page. Look at all existing BreakingTheBuildbots bugs. If the list is kept up to date then it should accurately represent everything that is causing failures. If it does not, then please file/update bugs accordingly.
A failure of the build steps in all compile bots automatically closes the tree. Sheriffs will have to manually reopen the tree when they deem the problem fixed.
Note: The tree is not closed automatically if the last run of the failed compile builder had the same failing step. The tree is also not closed if the tree was automatically closed less than 10 mins ago. If the tree is already closed then no action is taken.
See the revert documentation here.
A common cause of DEPS roll failures are layout tests. Find the offending Skia CL by examining the commit hash range in the DEPS roll and revert (or talk to the commit author if they are available). If you do revert then keep an eye on the next DEPS roll to make sure it succeeds.
If a Skia CL changes layout tests, but the new images look good, the tests need to be rebaselined. See Rebaseline Layout Tests.
First create a Chromium bug:
(Dispreferred but faster) Edit skia/skia_test_expectations.txt
(Preferred but slower) Make a separate Blink patch by editing LayoutTests/TestExpectations
Retry the DEPS roll (for the 1st/dispreferred option this usually means just retrying the layout bots)
Make a Blink patch by editing LayoutTests/TestExpectations
If you took the first/dispreferred option above: