# OWNERS
# ------
#
# The OWNERS file maintains the list of individuals responsible for various
# parts of this repository, including code review and approval.  We use the
# Gerrit 'owners' plugin, which consumes this file, along with some extra
# keywords for our own purposes and tooling.
#
# For details on the configuration used by 'owners' see:
#  https://gerrit.googlesource.com/plugins/owners/+/refs/heads/master/owners/src/main/resources/Documentation/config.md
#
# An OWNERS file must be in the root of a repository but may also be present
# in any subdirectory.  The contents of the subdirectory OWNERS file are
# combined with parent directories unless 'inherit: false' is set.
#
# The owners file is YAML and has [up to] 4 top-level keywords.
#   * owners: A list of individuals who have approval authority on the
#     repository.
#
#   * reviewers: A list of individuals who have requested review notification
#     on the repository.
#
#   * matchers: A list of specific file/path matches for granular 'owners' and
#     'reviewers'.  See 'owners' plugin documentation.
#
#   * openbmc: A list of openbmc-specific meta-data about owners and reviewers.
#     - name: preferred name of the individual.
#     - email: preferred email address of the individual.
#     - discord: Discord nickname of the individual.
#
# It is expected that these 4 sections will be listed in the order above and
# data within them will be kept sorted.

owners:
- deepak.kodihalli.83@gmail.com
- rushtotom@gmail.com
- manojkiran.eda@gmail.com

reviewers:
- liuxiwei@ieisystem.com
- pavithrabarithaya07@gmail.com
- thu@os.amperecomputing.com

matchers:
- partial_regex: oem/ampere
  owners:
  - thu@os.amperecomputing.com
- partial_regex: ibm
  owners:
  - manojkiran.eda@gmail.com
- partial_regex: meta/
  owners:
  - patrick@stwcx.xyz
- partial_regex: tools/visualize-pdr
  owners:
  - manojkiran.eda@gmail.com

openbmc:
- name: Deepak Kodihalli
  email: deepak.kodihalli.83@gmail.com
  discord: dkodihal
- name: George Liu
  email: liuxiwei@ieisystem.com
  discord: George Liu
- name: Manojkiran Eda
  email: manojkiran.eda@gmail.com
  discord: manojkiran
- name: Patrick Williams
  email: patrick@stwcx.xyz
  discord: stwcx
- name: Tom Joseph
  email: rushtotom@gmail.com
  discord: tomjose
- name: Pavithra Barithaya
  email: pavithrabarithaya07@gmail.com
  discord: Pavithra B
- name: Thu Nguyen
  email: thu@os.amperecomputing.com
  discord: Thu Nguyen
