As an ANGLE Sheriff. Your job is to:
If you're not an ANGLE team member, you can contact us on the public ANGLE project Google group.
Note: Please review and if needed update the wrangler schedule.
Note: It‘s highly recommend that all wranglers install the Chromium Flake Linker extension for inspecting bot builds. It’ll save you a lot of time.
Note: If you need to suppress test failures (e.g. to keep an auto-roller unblocked), see Handling Test Failures.
Your first job is to keep the ANGLE builders green and unblocked.
There are two consoles for ANGLE continuous integration builders:
We expect these waterfalls to be perfectly green at all times. As of writing several builders are red or flaky. Oart of your job as wrangler is to eliminate all sources of breaks and flakiness. We can fix flakiness by suppressing tests that are not worth fixing, reverting problematic CLs, or finding other solutions.
When you encouter red builds or flakiness, please [file an ANGLE bug] (http://anglebug.com/new) and set the label:
In addition to the CI builders, we have a console for try jobs on the ANGLE CV (change verifier):
Some failures are expected on this waterfall as developers test WIP changes. Please watch for persistent sources of flakiness and failure and take action as appropriate by filing bugs, reverting CLs, or taking other action.
If you find a point of failure that is unrelated to ANGLE, please file a Chromium bug. Set the bug label
Hotlist-PixelWrangler. Ensure you cc the current ANGLE and Chrome GPU wranglers, which you can find by consulting build.chromium.org. For more information see Filing Chromium Bug Reports below.
Also follow Chromium bugs in the
Internals>GPU>ANGLE component to be alerted to reports of ANGLE-related breakage in Chrome.
NOTE: When all builds seem to be purple or otherwise broken:
This could be a major infrastructure outage. File a high-priority bug using g.co/bugatrooper.
The GPU Pixel Wrangler is responsible for Chromium bugs. Please file Chromium issues with the Label
Hotlist-PixelWrangler for bugs outside of the ANGLE project.
IMPORTANT info to include in Chromium bug reports:
Internals>GPUfor general GPU bugs
Internals>GPU>Testingfor failures that look infrastructure-related
Internals>GPU>ANGLEfor ANGLE-related Chromium bugs
Internals>Skiafor Skia-specific bugs
parent_got_angle_revisionin both builds.
https://chromium.googlesource.com/angle/angle.git/+log/<last passing revision>..<first failing revision>
The ANGLE auto-roller automatically updates Chrome with the latest ANGLE changes.
We also use additional auto-rollers to roll third party libraries, and Chromium, into ANGLE once per day:
Please ensure these rollers are also healthy and unblocked. You can trigger manual rolls using the dashboards to land high-priority changes, for example Chromium-side test expectation updates or suppressions. When a roll fails, stop the roller, determine if the root cause is a problem with ANGLE or with the upstream repo, and file an issue with an appropriate next step.
NOTE: vulkan-deps consists of several related Vulkan dependencies:
vulkan-deps houses Vulkan-Tools, Vulkan-Loader, Vulkan-ValidationLayers, Vulkan-Headers and other related repos. If the roll fails, you will have to determine the correct upstream repo and file an issue upstream. For more info on vulkan-deps see the README.
Occasionally, a vulkan-deps AutoRoll CL will get an error in the
presubmit bot. For example, see: https://chromium-review.googlesource.com/c/angle/angle/+/3198390 where the
export_targets.py script had trouble with the
loader_windows.h file. The
export_targets.py script sometimes has difficulty with headers. If you cannot see an obvious problem, create a CL that adds the header to
To handle failures on these bots:
See more detailed instructions on by following this link.
Any large regressions should be triaged with a new ANGLE bug linked to any suspected CLs that may have caused performance to regress. If it's a known/expected regression, the bug can be closed as such. The tests are very flaky right now, so a WontFix resolution is often appropriate.