# This is reserved for people that are comfortably with buildbot recipes
# and understand the implications of changing these files.

dpranke@chromium.org
iannucci@chromium.org

# TEAM: infra-dev@chromium.org
# COMPONENT: Infra>Client>Chrome

# Wrappers for Telemetry based tests.
per-file run_gpu*=kbr@chromium.org
per-file run_gpu*=nednguyen@google.com
per-file run_telemetry*=kbr@chromium.org
per-file run_telemetry*=nednguyen@google.com
per-file run_telemetry*=eyaich@chromium.org
per-file run_performance_tests*=eyaich@chromium.org
per-file run_gtest*=eyaich@chromium.org
