# Copyright 2020 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This file can't use "include" directives, since they are not supported
# by an autoroller that uses this repo. e.g. http://shortn/_R8egPrYex7
# See https://crbug.com/1108077

# https://chromium.googlesource.com/chromiumos/chromite/+/master/OWNERS.build
cjmcdonald@chromium.org
mmortensen@google.com
saklein@chromium.org
sbelmon@google.com
vapier@chromium.org

# https://chromium.googlesource.com/chromiumos/chromite/+/master/OWNERS.ci
andrewlamb@chromium.org
brigitr@google.com
ctmcnamara@chromium.org
dburger@chromium.org
dhanyaganesh@chromium.org
engeg@google.com
jackneus@google.com
jaredloucks@google.com
juahurta@google.com
lamontjones@chromium.org
mikenichols@chromium.org
navil@google.com
seanabraham@chromium.org
smcallis@google.com

# TODO(engeg@): remove. farewell friends.
pprabhu@chromium.org
seanabraham@chromium.org

# Fleet team.
ayatane@chromium.org
xixuan@chromium.org

# Infra leads.
nednguyen@chromium.org
shapiroc@chromium.org

# Service accounts, for rolling dependencies.
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
