From cae6ce46ecf834d959929f20e095f10a55f3b9d0 Mon Sep 17 00:00:00 2001 From: Diego Hurtado Date: Mon, 22 May 2023 17:19:50 -0600 Subject: [PATCH] Refactor CODEOWNERS file (#1804) * Refactor CODEOWNERS file Fixes #1803 * Remove CODEOWNERS * Refactor component owners configuration * Refactor CODEOWNERS to select any file but the ones in instrumentation --------- Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com> --- .github/CODEOWNERS | 28 +++++++--------------------- .github/component_owners.yml | 14 ++++++++++++++ CONTRIBUTING.md | 11 +++++++++++ 3 files changed, 32 insertions(+), 21 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 868fbf8f9c..0cb85929af 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,26 +1,12 @@ -# Code owners file. -# This file controls who is tagged for review for any given pull request. -# -# What is a "CODEOWNER"? -# -# A CODEOWNER lends their expertise to a specific package hosted by an OpenTelemetry repository. -# -# A CODEOWNER MUST: -# - introduce themselves on the CNCF OTel Python channel: https://cloud-native.slack.com/archives/C01PD4HUVBL -# - have enough knowledge of the corresponding instrumented library -# - respond to issues -# - fix failing unit tests or any other blockers to the CI/CD workflow -# - update usage of `opentelemetry-python-core` APIs upon the introduction of breaking changes -# - be a member of the OpenTelemetry community so that the `component-owners.yml` action to automatically assign CODEOWNERS to PRs works correctly. -# +# This file is only used as a way to assign any change to the approvers team +# except for a change in any of the instrumentations. The actual codeowners +# of the instrumentations are in .github/component_owners.yml. - -# For anything not explicitly taken by someone else: +# Assigns any change to the approvers team... * @open-telemetry/opentelemetry-python-contrib-approvers +# ...except for changes in any instrumentation. +/instrumentation + # Learn about CODEOWNERS file format: # https://help.github.com/en/articles/about-code-owners -# -# Learn about membership in OpenTelemetry community: -# https://github.com/open-telemetry/community/blob/main/community-membership.md -# diff --git a/.github/component_owners.yml b/.github/component_owners.yml index 933dc7da13..7f5b6b1c44 100644 --- a/.github/component_owners.yml +++ b/.github/component_owners.yml @@ -43,9 +43,23 @@ components: instrumentation/opentelemetry-instrumentation-urllib: - shalevr + - ocelotl instrumentation/opentelemetry-instrumentation-urllib3: - shalevr + - ocelotl instrumentation/opentelemetry-instrumentation-sqlalchemy: - shalevr + + instrumentation/opentelemetry-instrumentation-flask: + - ocelotl + + instrumentation/opentelemetry-instrumentation-jinja2: + - ocelotl + + instrumentation/opentelemetry-instrumentation-logging: + - ocelotl + + instrumentation/opentelemetry-instrumentation-requests: + - ocelotl diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a159bd1f03..41f2aa08cb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -124,6 +124,17 @@ Open a pull request against the main `opentelemetry-python-contrib` repo. as `work-in-progress`, or mark it as [`draft`](https://github.blog/2019-02-14-introducing-draft-pull-requests/). * Make sure CLA is signed and CI is clear. +### How to Get PRs Reviewed + +The maintainers and approvers of this repo are not experts in every instrumentation there is here. +In fact each one of us knows enough about them to only review a few. Unfortunately it can be hard +to find enough experts in every instrumentation to quickly review every instrumentation PR. The +instrumentation experts are listed in `.github/component_owners.yml` with their corresponding files +or directories that they own. The owners listed there will be notified when PRs that modify their +files are opened. + +If you are not getting reviews, please contact the respective owners directly. + ### How to Get PRs Merged A PR is considered to be **ready to merge** when: