Skip to content

Commit

Permalink
Merge branch 'main' into feature/config-links-amqp-plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
McSick authored Jun 25, 2024
2 parents e5e7d93 + a8086d0 commit b33b4bc
Show file tree
Hide file tree
Showing 4 changed files with 118 additions and 4 deletions.
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/ownership_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: Component Ownership Request
about: Request yourself being added as a component owner for a component in this repository
labels: type:ownership-request
---

<!--
**NB:** Before opening a component ownership request against this repo, please read [CONTRIBUTING.md](../../CONTRIBUTING.md#component-ownership) and its subsections first.
-->

### Which component are you requesting ownership of?

<!--
Put a link to the component here.
-->

### Related Work and Qualifications

<!--
List here why you're qualified to take ownership of the component, see [CONTRIBUTING.md](../../CONTRIBUTING.md#becoming-a-component-owner) for details.
Examples:
- I am working on <related open-source-project> and have deep knowledge of the instrumented package.
- I am using the instrumented package on a regular basis and have deep knowledge of the instrumented package.
- I am working on <similar package or system> and have deep knowledge of the concepts of the instrumented package.
- I am an engineer at an observability vendor we would like to sponsor this component.
-->

### Checklist

- [ ] I have read [CONTRIBUTING.md](../../CONTRIBUTING.md) and understand the responsibilities of a component owner.
- [ ] I agree to follow and uphold the [mission, vision and values](https://github.com/open-telemetry/community/blob/main/mission-vision-values.md) of the OpenTelemetry project
- [ ] I understand that the component I'm requesting ownership of may be subject to the [OpenTelemetry Semantic Conventions](https://github.com/open-telemetry/semantic-conventions) and agree to follow the rules set out therein.

### Additional context

<!--
Add any other context that does not fit any of the above sections
-->
9 changes: 9 additions & 0 deletions .github/component-label-map.yml
Original file line number Diff line number Diff line change
Expand Up @@ -270,3 +270,12 @@ pkg:sql-common:
- changed-files:
- any-glob-to-any-file:
- packages/opentelemetry-sql-common/**
pkg-status:unmaintained:
- changed-files:
- any-glob-to-any-file:
- detectors/node/opentelemetry-resource-detector-github/**
- plugins/node/opentelemetry-instrumentation-connect/**
- plugins/node/opentelemetry-instrumentation-dns/**
- plugins/node/opentelemetry-instrumentation-hapi/**
- plugins/node/opentelemetry-instrumentation-koa/**
- propagators/opentelemetry-propagator-ot-trace/**
22 changes: 21 additions & 1 deletion .github/workflows/close-stale.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: 'Close stale issues and PRs'
on:
schedule:
- cron: '30 6 * * 1'
- cron: '30 6 * * *'

jobs:
stale:
Expand All @@ -20,3 +20,23 @@ jobs:
exempt-issue-labels: never-stale
exempt-pr-labels: never-stale
any-of-labels: information-requested
- uses: actions/stale@v9
with:
days-before-issue-stale: 0
days-before-issue-close: 14
stale-issue-message: 'This package does not have an assigned [component owner](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/CONTRIBUTING.md#component-ownership) and is considered [unmaintained](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/CONTRIBUTING.md#unmaintained). As such this package is in feature-freeze and this issue will be closed with 14 days unless a new owner or a sponsor (a member of @open-telemetry/javascript-approvers) for the feature is found. It is the responsibility of the author to find a sponsor for this feature.
Are you familiar with this package? Consider [becoming a component owner](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/CONTRIBUTING.md#becoming-a-component-owner).'
close-issue-message: 'This issue was closed because no owner or sponsor has been found after 14 days'
only-labels: pkg-status:unmaintained,feature-request
exempt-issue-labels: bug,has:sponsor,type:semconv-update
- uses: actions/stale@v9
with:
days-before-pr-stale: 0
days-before-pr-close: 14
stale-pr-message: 'This package does not have an assigned [component owner](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/CONTRIBUTING.md#component-ownership) and is considered [unmaintained](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/CONTRIBUTING.md#unmaintained). As such this package is in feature-freeze and this PR will be closed with 14 days unless a new owner or a sponsor (a member of @open-telemetry/javascript-approvers) for the feature is found. It is the responsibility of the author to find a sponsor for this feature.
Are you familiar with this package? Consider [becoming a component owner](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/CONTRIBUTING.md#becoming-a-component-owner).'
close-pr-message: 'This issue was closed because no owner or sponsor has been found after 14 days'
only-labels: pkg-status:unmaintained
exempt-pr-labels: bug,has:sponsor,type:semconv-update
52 changes: 49 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ We'd love your help!
- [CHANGELOG](#changelog)
- [Benchmarks](#benchmarks)
- [Component Ownership](#component-ownership)
- [Becoming a Component Owner](#becoming-a-component-owner)
- [Component Lifecycle](#component-lifecycle)
- [Unreleased](#unreleased)
- [Experimental](#experimental)
Expand Down Expand Up @@ -139,10 +140,44 @@ When two or more approaches must be compared, please write a benchmark in the be
This repository contains many components which are maintained by more than the typical set of JS 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.
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.

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 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 a 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 `fastify` library requesting ownership of the `@opentelemetry/instrumentation-fastify` 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/javascript-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.

## Component Lifecycle

This repository contains many components in various stages of the component lifecycle.
Expand Down Expand Up @@ -187,8 +222,19 @@ Stable components MUST have their major version set to `1` or greater.

### Unmaintained

A component which does not have an assigned component owner, or has a component owner who has been unresponsive to issues and pull requests may be marked as unmaintained.
Unmaintained components may continue to work and receive updates and fixes from contributors, but may not receive immediate attention if there is a problem or feature request.
A component which does not have an assigned component owner, or has a component owner who has been unresponsive to issues
and pull requests may be marked as `pkg-status:unmaintained`.

Unmaintained components may continue to work and receive updates and fixes from contributors. An unmaintained component
is considered feature-freeze and new feature-requests may be closed within two weeks if no new owner is found.
[@open-telemetry/javascript-approvers](https://github.com/orgs/open-telemetry/teams/javascript-approvers) may sponsor
features for unmaintained components. At least one sponsor is needed to lift the feature-freeze for the purpose of
adding the requested feature. Sponsors are expected to provide reviews for that feature and be responsive on the issue.

Components marked as unmaintained still receive semantic conventions updates and bugfixes where possible.
[@open-telemetry/javascript-triagers](https://github.com/orgs/open-telemetry/teams/javascript-triagers) may add the
`type:semconv-update` or `bug` label to mark them as exempt from being auto-closed within two weeks.

A component which is unmaintained may be deprecated if there is a problem that is not fixed in a timely manner.

### Deprecated
Expand Down

0 comments on commit b33b4bc

Please sign in to comment.