From bfdf3d9b10084bdcd4db9e9ed776da45c31695a4 Mon Sep 17 00:00:00 2001 From: Diego Hurtado Date: Fri, 12 May 2023 15:03:37 -0600 Subject: [PATCH 1/4] Refactor CODEOWNERS file Fixes #1803 --- .github/CODEOWNERS | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 868fbf8f9c..3a05a0235b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -14,13 +14,54 @@ # - be a member of the OpenTelemetry community so that the `component-owners.yml` action to automatically assign CODEOWNERS to PRs works correctly. # - # For anything not explicitly taken by someone else: * @open-telemetry/opentelemetry-python-contrib-approvers +/instrumentation/opentelemetry-instrumentation-aiohttp-client +/instrumentation/opentelemetry-instrumentation-aiopg +/instrumentation/opentelemetry-instrumentation-aio-pika +/instrumentation/opentelemetry-instrumentation-asgi +/instrumentation/opentelemetry-instrumentation-asyncpg +/instrumentation/opentelemetry-instrumentation-aws-lambda +/instrumentation/opentelemetry-instrumentation-boto +/instrumentation/opentelemetry-instrumentation-boto3sqs +/instrumentation/opentelemetry-instrumentation-botocore +/instrumentation/opentelemetry-instrumentation-celery +/instrumentation/opentelemetry-instrumentation-confluent-kafka +/instrumentation/opentelemetry-instrumentation-dbapi +/instrumentation/opentelemetry-instrumentation-django +/instrumentation/opentelemetry-instrumentation-elasticsearch +/instrumentation/opentelemetry-instrumentation-falcon +/instrumentation/opentelemetry-instrumentation-fastapi +/instrumentation/opentelemetry-instrumentation-flask @ocelotl +/instrumentation/opentelemetry-instrumentation-grpc +/instrumentation/opentelemetry-instrumentation-httpx +/instrumentation/opentelemetry-instrumentation-jinja2 @ocelotl +/instrumentation/opentelemetry-instrumentation-kafka-python +/instrumentation/opentelemetry-instrumentation-logging @ocelotl +/instrumentation/opentelemetry-instrumentation-mysql +/instrumentation/opentelemetry-instrumentation-pika +/instrumentation/opentelemetry-instrumentation-psycopg2 +/instrumentation/opentelemetry-instrumentation-pymemcache +/instrumentation/opentelemetry-instrumentation-pymongo +/instrumentation/opentelemetry-instrumentation-pymysql +/instrumentation/opentelemetry-instrumentation-pyramid +/instrumentation/opentelemetry-instrumentation-redis +/instrumentation/opentelemetry-instrumentation-remoulade +/instrumentation/opentelemetry-instrumentation-requests @ocelotl +/instrumentation/opentelemetry-instrumentation-sklearn +/instrumentation/opentelemetry-instrumentation-sqlalchemy +/instrumentation/opentelemetry-instrumentation-sqlite3 +/instrumentation/opentelemetry-instrumentation-starlette +/instrumentation/opentelemetry-instrumentation-system-metricl +/instrumentation/opentelemetry-instrumentation-tornado +/instrumentation/opentelemetry-instrumentation-tortoiseorm +/instrumentation/opentelemetry-instrumentation-urllib @ocelotl +/instrumentation/opentelemetry-instrumentation-urllib3 @ocelotl +/instrumentation/opentelemetry-instrumentation-wsgi + # 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 -# From cfa8505680cf5ae4f9457d255a88b0bf4037ee16 Mon Sep 17 00:00:00 2001 From: Diego Hurtado Date: Wed, 17 May 2023 17:42:39 -0600 Subject: [PATCH 2/4] Remove CODEOWNERS --- .github/CODEOWNERS | 67 ------------------- .github/component_owners.yml | 120 +++++++++++++++++++++++++++++++++++ CONTRIBUTING.md | 11 ++++ 3 files changed, 131 insertions(+), 67 deletions(-) delete mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index 3a05a0235b..0000000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1,67 +0,0 @@ -# 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. -# - -# For anything not explicitly taken by someone else: -* @open-telemetry/opentelemetry-python-contrib-approvers - -/instrumentation/opentelemetry-instrumentation-aiohttp-client -/instrumentation/opentelemetry-instrumentation-aiopg -/instrumentation/opentelemetry-instrumentation-aio-pika -/instrumentation/opentelemetry-instrumentation-asgi -/instrumentation/opentelemetry-instrumentation-asyncpg -/instrumentation/opentelemetry-instrumentation-aws-lambda -/instrumentation/opentelemetry-instrumentation-boto -/instrumentation/opentelemetry-instrumentation-boto3sqs -/instrumentation/opentelemetry-instrumentation-botocore -/instrumentation/opentelemetry-instrumentation-celery -/instrumentation/opentelemetry-instrumentation-confluent-kafka -/instrumentation/opentelemetry-instrumentation-dbapi -/instrumentation/opentelemetry-instrumentation-django -/instrumentation/opentelemetry-instrumentation-elasticsearch -/instrumentation/opentelemetry-instrumentation-falcon -/instrumentation/opentelemetry-instrumentation-fastapi -/instrumentation/opentelemetry-instrumentation-flask @ocelotl -/instrumentation/opentelemetry-instrumentation-grpc -/instrumentation/opentelemetry-instrumentation-httpx -/instrumentation/opentelemetry-instrumentation-jinja2 @ocelotl -/instrumentation/opentelemetry-instrumentation-kafka-python -/instrumentation/opentelemetry-instrumentation-logging @ocelotl -/instrumentation/opentelemetry-instrumentation-mysql -/instrumentation/opentelemetry-instrumentation-pika -/instrumentation/opentelemetry-instrumentation-psycopg2 -/instrumentation/opentelemetry-instrumentation-pymemcache -/instrumentation/opentelemetry-instrumentation-pymongo -/instrumentation/opentelemetry-instrumentation-pymysql -/instrumentation/opentelemetry-instrumentation-pyramid -/instrumentation/opentelemetry-instrumentation-redis -/instrumentation/opentelemetry-instrumentation-remoulade -/instrumentation/opentelemetry-instrumentation-requests @ocelotl -/instrumentation/opentelemetry-instrumentation-sklearn -/instrumentation/opentelemetry-instrumentation-sqlalchemy -/instrumentation/opentelemetry-instrumentation-sqlite3 -/instrumentation/opentelemetry-instrumentation-starlette -/instrumentation/opentelemetry-instrumentation-system-metricl -/instrumentation/opentelemetry-instrumentation-tornado -/instrumentation/opentelemetry-instrumentation-tortoiseorm -/instrumentation/opentelemetry-instrumentation-urllib @ocelotl -/instrumentation/opentelemetry-instrumentation-urllib3 @ocelotl -/instrumentation/opentelemetry-instrumentation-wsgi - -# 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..32a7631b32 100644 --- a/.github/component_owners.yml +++ b/.github/component_owners.yml @@ -49,3 +49,123 @@ components: 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 + + instrumentation/opentelemetry-instrumentation-urllib: + - ocelotl + + instrumentation/opentelemetry-instrumentation-urllib3: + - ocelotl + + CHANGELOG.md: + - ocelotl + + .codespellrc: + - ocelotl + + CONTRIBUTING.md: + - ocelotl + + .coveragerc: + - ocelotl + + dev-requirements.txt: + - ocelotl + + docs: + - ocelotl + + docs-requirements.txt: + - ocelotl + + eachdist.ini: + - ocelotl + + exporter: + - ocelotl + + .flake8: + - ocelotl + + gen-requirements.txt: + - ocelotl + + .git: + - ocelotl + + .github: + - ocelotl + + .gitignore: + - ocelotl + + .isort.cfg: + - ocelotl + + LICENSE: + - ocelotl + + LICENSE.Apache: + - ocelotl + + LICENSE.BSD3: + - ocelotl + + opentelemetry-contrib-instrumentations: + - ocelotl + + opentelemetry-distro: + - ocelotl + + opentelemetry-instrumentation: + - ocelotl + + propagator: + - ocelotl + + .pylintrc: + - ocelotl + + pyproject.toml: + - ocelotl + + pytest.ini: + - ocelotl + + README.md: + - ocelotl + + .readthedocs.yml: + - ocelotl + + RELEASING.md: + - ocelotl + + scripts: + - ocelotl + + sdk-extension: + - ocelotl + + _template: + - ocelotl + + tests: + - ocelotl + + tox.ini: + - ocelotl + + util: + - 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: From fe2a1285ce07d5b2bce7e80dc26389716cb98a3c Mon Sep 17 00:00:00 2001 From: Diego Hurtado Date: Wed, 17 May 2023 17:54:07 -0600 Subject: [PATCH 3/4] Refactor component owners configuration --- .github/component_owners.yml | 110 +---------------------------------- 1 file changed, 2 insertions(+), 108 deletions(-) diff --git a/.github/component_owners.yml b/.github/component_owners.yml index 32a7631b32..7f5b6b1c44 100644 --- a/.github/component_owners.yml +++ b/.github/component_owners.yml @@ -43,9 +43,11 @@ components: instrumentation/opentelemetry-instrumentation-urllib: - shalevr + - ocelotl instrumentation/opentelemetry-instrumentation-urllib3: - shalevr + - ocelotl instrumentation/opentelemetry-instrumentation-sqlalchemy: - shalevr @@ -61,111 +63,3 @@ components: instrumentation/opentelemetry-instrumentation-requests: - ocelotl - - instrumentation/opentelemetry-instrumentation-urllib: - - ocelotl - - instrumentation/opentelemetry-instrumentation-urllib3: - - ocelotl - - CHANGELOG.md: - - ocelotl - - .codespellrc: - - ocelotl - - CONTRIBUTING.md: - - ocelotl - - .coveragerc: - - ocelotl - - dev-requirements.txt: - - ocelotl - - docs: - - ocelotl - - docs-requirements.txt: - - ocelotl - - eachdist.ini: - - ocelotl - - exporter: - - ocelotl - - .flake8: - - ocelotl - - gen-requirements.txt: - - ocelotl - - .git: - - ocelotl - - .github: - - ocelotl - - .gitignore: - - ocelotl - - .isort.cfg: - - ocelotl - - LICENSE: - - ocelotl - - LICENSE.Apache: - - ocelotl - - LICENSE.BSD3: - - ocelotl - - opentelemetry-contrib-instrumentations: - - ocelotl - - opentelemetry-distro: - - ocelotl - - opentelemetry-instrumentation: - - ocelotl - - propagator: - - ocelotl - - .pylintrc: - - ocelotl - - pyproject.toml: - - ocelotl - - pytest.ini: - - ocelotl - - README.md: - - ocelotl - - .readthedocs.yml: - - ocelotl - - RELEASING.md: - - ocelotl - - scripts: - - ocelotl - - sdk-extension: - - ocelotl - - _template: - - ocelotl - - tests: - - ocelotl - - tox.ini: - - ocelotl - - util: - - ocelotl From 2caf26fd84f0722122faa59b76e99aa27be32b00 Mon Sep 17 00:00:00 2001 From: Diego Hurtado Date: Wed, 17 May 2023 17:58:37 -0600 Subject: [PATCH 4/4] Refactor CODEOWNERS to select any file but the ones in instrumentation --- .github/CODEOWNERS | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..0cb85929af --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,12 @@ +# 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. + +# 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