-
Notifications
You must be signed in to change notification settings - Fork 224
chore: Add component owners workflow, documentation #1771
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
kaylareopelle
wants to merge
10
commits into
open-telemetry:main
Choose a base branch
from
kaylareopelle:component-owners
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
5b557b1
chore: Add component owners workflow
kaylareopelle 13b3247
ci: Add Triager, triagers to known words
kaylareopelle 55af073
Merge branch 'main' into component-owners
kaylareopelle 9604163
Apply suggestions from code review
kaylareopelle 5b59d23
Merge branch 'main' into component-owners
kaylareopelle c90ff5b
Add factory_bot to component owners
kaylareopelle 1b62da0
Keep wildcard in codeowners
kaylareopelle e88fe3b
Merge branch 'component-owners' of https://github.com/kaylareopelle/o…
kaylareopelle 588104f
Update CODEOWNERS
arielvalentin b9e8667
Merge branch 'main' into component-owners
arielvalentin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -77,6 +77,8 @@ words: | |
| - toolset | ||
| - traceid | ||
| - traceresponse | ||
| - Triager | ||
| - triagers | ||
| - Untrace | ||
| - vitess | ||
| - webmocks | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| # Keep all in alphabetical order | ||
| components: | ||
| instrumentation/active_storage: | ||
| - ymtdzzz | ||
| instrumentation/aws_sdk: | ||
| - jterapin | ||
| - alextwoods | ||
| - NathanielRN | ||
| instrumentation/factory_bot: | ||
| - americodls | ||
| instrumentation/grape: | ||
| - muripic | ||
| instrumentation/graphql: | ||
| - swalkinsha | ||
| - rmoslogo | ||
| instrumentation/grpc: | ||
| - michal-kazmierczak | ||
| instrumentation/httpx: | ||
| - HoneyryderChuck | ||
| instrumentation/mongo: | ||
| - johnnyshields | ||
| instrumentation/racecar: | ||
| - chrisholmes | ||
| instrumentation/rspec: | ||
| - chrisholmes | ||
| instrumentation/que: | ||
| - indrekj | ||
| processor/baggage: | ||
| - robbkidd | ||
| - mikegoldsmith | ||
| resources/container: | ||
| - scbjans | ||
| sampler/xray: | ||
| - jj22ee |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| name: 'Component Owners' | ||
| on: | ||
| pull_request_target: | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| run_self: | ||
| permissions: | ||
| pull-requests: write # required for assigning reviewers to PRs | ||
| runs-on: ubuntu-latest | ||
| name: Auto Assign Owners | ||
| steps: | ||
| - uses: dyladan/[email protected] | ||
| with: | ||
| config-file: .github/component_owners.yml | ||
| repo-token: ${{ secrets.GITHUB_TOKEN }} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,43 +1 @@ | ||
| ##################################################### | ||
| # | ||
| # List of approvers for this repository | ||
| # | ||
| ##################################################### | ||
| # | ||
| # Learn about membership in OpenTelemetry community: | ||
| # https://github.com/open-telemetry/community/blob/master/community-membership.md | ||
| # | ||
| # | ||
| # Learn about CODEOWNERS file format: | ||
| # https://help.github.com/en/articles/about-code-owners | ||
| # | ||
|
|
||
| * @open-telemetry/ruby-contrib-maintainers @open-telemetry/ruby-contrib-approvers @fbogsany @mwear @robertlaurin @dazuma @ericmustin @arielvalentin @ahayworth @plantfansam @robbkidd @simi @kaylareopelle @xuan-cao-swi | ||
|
|
||
| resources/container/ @scbjans @open-telemetry/ruby-contrib-maintainers @open-telemetry/ruby-contrib-approvers @fbogsany @mwear @robertlaurin @dazuma @ericmustin @arielvalentin @ahayworth @plantfansam @robbkidd @simi @kaylareopelle @xuan-cao-swi | ||
|
|
||
| instrumentation/active_storage/ @ymtdzzz @open-telemetry/ruby-contrib-maintainers @open-telemetry/ruby-contrib-approvers @fbogsany @mwear @robertlaurin @dazuma @ericmustin @arielvalentin @ahayworth @plantfansam @robbkidd @simi @kaylareopelle @xuan-cao-swi | ||
|
|
||
| instrumentation/aws_sdk/ @jterapin @alextwoods @NathanielRN @open-telemetry/ruby-contrib-maintainers @open-telemetry/ruby-contrib-approvers @fbogsany @mwear @robertlaurin @dazuma @ericmustin @arielvalentin @ahayworth @plantfansam @robbkidd @simi @kaylareopelle @xuan-cao-swi | ||
|
|
||
| instrumentation/factory_bot/ @americodls @open-telemetry/ruby-contrib-maintainers @open-telemetry/ruby-contrib-approvers @fbogsany @mwear @robertlaurin @dazuma @ericmustin @arielvalentin @ahayworth @plantfansam @robbkidd @simi @kaylareopelle @xuan-cao-swi | ||
|
|
||
| instrumentation/grape/ @muripic @open-telemetry/ruby-contrib-maintainers @open-telemetry/ruby-contrib-approvers @fbogsany @mwear @robertlaurin @dazuma @ericmustin @arielvalentin @ahayworth @plantfansam @robbkidd @simi @kaylareopelle @xuan-cao-swi | ||
|
|
||
| instrumentation/graphql/ @swalkinshaw @rmoslogo @open-telemetry/ruby-contrib-maintainers @open-telemetry/ruby-contrib-approvers @fbogsany @mwear @robertlaurin @dazuma @ericmustin @arielvalentin @ahayworth @plantfansam @robbkidd @simi @kaylareopelle @xuan-cao-swi | ||
|
|
||
| instrumentation/grpc/ @michal-kazmierczak @open-telemetry/ruby-contrib-maintainers @open-telemetry/ruby-contrib-approvers @fbogsany @mwear @robertlaurin @dazuma @ericmustin @arielvalentin @ahayworth @plantfansam @robbkidd @simi @kaylareopelle @xuan-cao-swi | ||
|
|
||
| instrumentation/httpx/ @HoneyryderChuck @open-telemetry/ruby-contrib-maintainers @open-telemetry/ruby-contrib-approvers @fbogsany @mwear @robertlaurin @dazuma @ericmustin @arielvalentin @ahayworth @plantfansam @robbkidd @simi @kaylareopelle @xuan-cao-swi | ||
|
|
||
| instrumentation/mongo/ @johnnyshields @open-telemetry/ruby-contrib-maintainers @open-telemetry/ruby-contrib-approvers @fbogsany @mwear @robertlaurin @dazuma @ericmustin @arielvalentin @ahayworth @plantfansam @robbkidd @simi @kaylareopelle @xuan-cao-swi | ||
|
|
||
| instrumentation/racecar/ @chrisholmes @open-telemetry/ruby-contrib-maintainers @open-telemetry/ruby-contrib-approvers @fbogsany @mwear @robertlaurin @dazuma @ericmustin @arielvalentin @ahayworth @plantfansam @robbkidd @simi @kaylareopelle @xuan-cao-swi | ||
|
|
||
| instrumentation/rspec/ @chrisholmes @open-telemetry/ruby-contrib-maintainers @open-telemetry/ruby-contrib-approvers @fbogsany @mwear @robertlaurin @dazuma @ericmustin @arielvalentin @ahayworth @plantfansam @robbkidd @simi @kaylareopelle @xuan-cao-swi | ||
|
|
||
| instrumentation/que/ @indrekj @open-telemetry/ruby-contrib-maintainers @open-telemetry/ruby-contrib-approvers @fbogsany @mwear @robertlaurin @dazuma @ericmustin @arielvalentin @ahayworth @plantfansam @robbkidd @simi @kaylareopelle @xuan-cao-swi | ||
|
|
||
| processor/baggage/ @robbkidd @mikegoldsmith @open-telemetry/ruby-contrib-maintainers @open-telemetry/ruby-contrib-approvers @fbogsany @mwear @robertlaurin @dazuma @ericmustin @arielvalentin @ahayworth @plantfansam @robbkidd @simi @kaylareopelle @xuan-cao-swi | ||
|
|
||
| sampler/xray/ @jj22ee @open-telemetry/ruby-contrib-maintainers @open-telemetry/ruby-contrib-approvers @fbogsany @mwear @robertlaurin @dazuma @ericmustin @arielvalentin @ahayworth @plantfansam @robbkidd @simi @kaylareopelle @xuan-cao-swi | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -231,6 +231,55 @@ In addition, when a change is complex or a reviewer is unfamiliar with the code, | |
| the reviewer may seek additional reviews from people more familiar with the | ||
| change before merging a PR. | ||
|
|
||
| ## Component Ownership | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is largely copied from the guidelines in the opentelemetry-js-contrib CONTRIBUTING.md file. |
||
|
|
||
| This repository contains many components which are maintained by more than the typical set of ruby-contrib maintainers and approvers. | ||
| Each component in this repository SHOULD have a component owner who is responsible for maintaining it. | ||
| The README.md for each component SHOULD contain its owner, but the source of truth for component ownership is in [.github/component_owners.yml](.github/component_owners.yml). | ||
|
|
||
| Component owners are generally given authority to make decisions relating to implementation and feature requests for their components, | ||
| provided they follow the best practices set out by the maintainers and the [mission, vision and values](https://github.com/open-telemetry/community/blob/main/mission-vision-values.md) | ||
| of the OpenTelemetry Project. To facilitate independent triage of issues pertaining to the owned component, component owners are assigned | ||
| [the Triager role](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#triager). | ||
|
|
||
| Component owners MUST do their best to maintain a high level of quality, security, performance, and specification compliance within their components. | ||
| Maintainers may override the decisions of component owners, but should only do so when they feel one or more of these traits is compromised. | ||
|
|
||
| ### Becoming a Component Owner | ||
|
|
||
| To become a component owner, contributors MUST be a [member](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#member) of the OpenTelemetry GitHub organization. | ||
| To become a member, follow the steps in the [community guidelines for membership requirements](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#requirements). | ||
|
|
||
| To become a component owner, contributors SHOULD demonstrate prior knowledge of the instrumented package or the concepts therein. | ||
|
|
||
| Ways do to so may be by providing proof of: | ||
|
|
||
| - current or prior involvement with the community that develops the upstream package | ||
| - **Example:** A person working on MongoDB requesting ownership over a MongoDB instrumentation | ||
| - current or prior involvement with a community that develops systems with similar concepts | ||
| - **Example:** A person previously working on MySQL requesting ownership of a instrumentation package that instruments another database client library instrumentation. | ||
| - current or prior extensive use of the instrumented package in other project they are involved in | ||
| - **Example:** A person working at a company that makes extensive use of the `koala` library requesting ownership of the `opentelemetry-instrumentation-koala` package. | ||
| - a vested interest in the telemetry being emitted from that instrumentation | ||
| - **Example:** A person employed at an observability vendor that relies on the continued maintenance of the instrumentation | ||
|
|
||
| **Examples of proof may include but are not limited to:** | ||
|
|
||
| - Links to issues/PRs they worked on | ||
| - Links to blog posts authored by them on behalf of the organization developing that system | ||
| - Membership in GitHub teams/organizations that are associated with the development of the upstream package | ||
|
|
||
| Aspiring Component Owners MUST agree to uphold the [mission, vision and values](https://github.com/open-telemetry/community/blob/main/mission-vision-values.md) of the OpenTelemetry project. | ||
| Further, aspiring component owners are expected to have knowledge of the [OpenTelemetry Semantic Conventions](https://github.com/open-telemetry/semantic-conventions) | ||
| and MUST agree to adhere to the rules set out therein. | ||
|
|
||
| If all these conditions are met, aspiring component owners are encouraged to self-nominate by opening an issue. | ||
| @open-telemetry/ruby-contrib-maintainers will then engage on the issue, may ask questions, and will then - based on the | ||
| information provided on the issue - either approve or deny the ownership request. If the ownership request has been | ||
| approved, the new component owner opens a PR to add themselves to the list of owners ([.github/component_owners.yml](.github/component_owners.yml)) | ||
| for that package. | ||
| @open-telemetry/ruby-contrib-maintainers will add the component owner to @open-telemetry/ruby-contrib-triagers. | ||
|
|
||
| ## Releases | ||
|
|
||
| This repository includes a set of tools for releasing gems. Only maintainers | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do we fit into component owners?
What happens to the rest of the gems not listed under component owners e.g. propagators?
Shouldn't approvers and maintainers still be required for a final review?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There isn't great documentation on this, so mostly I'm guessing.
The way I understand it, component owners will be able to approve a PR, but will not be able to merge a PR; so a maintainer will still have to take a look at it before it is fully accepted.
I believe the standard approvers and maintainers will have reviews requested in addition, but I'm really not certain. To keep our current setup (with each of our names listed), I may need to add our names to every directory. There isn't great documentation for this, but I can ask around. Looking at a js-contrib PR, it seems like the alias gets the request. I think the default setup will also assign component owners to the PR.
On a similar note, I'm not sure what happens to the rest of the gems that aren't listed. The JS Contrib file has empty arrays for directories without specific owners (ex).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think they still have CODEOWNERS in .github/ (e.g.
* @open-telemetry/javascript-approvers)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for seeing that, @xuan-cao-swi!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CNCF Slack Thread for these questions: https://cloud-native.slack.com/archives/C01NJ7V1KRC/p1761948733868689