-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Checklist for new components #6926
Comments
cc @MovieStoreGuy, @open-telemetry/collector-contrib-approvers, I'm sure I'm missing something here. I would appreciate your input. |
It could be a good idea to turn this checklist into an issue template, and require a tracking issue for every new component |
+1 on having this as an issue template for adding a new component, I think that would really help with contribution experience and what is expected of the authors. I do have some questions on what is the limitations of components to be added:
I do worry how adhoc some components are added to the collector that it is hard to set a clear roadmap, and I fully understand that this is still a new space, and vendors / tools are coming up to help but it does muddy what potential roadmaps can be set out. I do not want to limit contributors but at some point it is going to be hard to scale development without impacting devx. |
There are vendor-specific components, and components not tied to specific vendors. The vendor-specific ones should always be allowed: either we have all vendors or no vendors. Components can indeed be removed from the contrib distribution: if a component gets orphaned and bugs are not getting fixed, it should be removed.
That's a good idea. |
Personal opinion, I've never really loved our current guidelines of splitting PRs for components which seems similar to what's proposed here because
Could separate commits based on this well-defined scheme within one PR work similarly without some of those drawbacks? |
I also don't like having multiple PRs for pretty much the same reasons you listed (see open-telemetry/opentelemetry-collector#1952), but given we do have this as part of the guidelines and is enforced for most PRs, it is included as part of this checklist. That said, I would support a change in the policy if you'd open an issue with the proposal. |
I agree with the notion that we need to protect against ad hoc components but I think the sponsorship process already does much to ensure this. We could slightly enhance the process by clarifying that another approver must "second" the addition of the component. Often this can be a maintainer who is not the sponsor, so this keeps unnecessary friction to a minimum. I'd prefer not to require a voting step, since this will add significant friction to an already cumbersome contribution process. Ultimately, if a component is accepted when it possibly should not have been, one can always open an issue to propose removing it. |
+1 I understand the motivation to make PRs more reviewable, but given the investment we expect of sponsors it seems reasonable that we should be willing to immerse ourselves in larger PRs. The current process is very non-trivial to contributors who have already drafted a complete component. |
I also strongly dislike having new components split into multiple PRs. It makes them harder to review in my opinion because we are forced to accept the existence of a new component before we know what its implementation will look like. Suggesting that commit history be used to partition the implementation for reviewers who prefer incremental reviews might work, and it is probably how most people are attempting to satisfy the current process anyways. |
|
I think that would include the stub of the new component in the build. Should this go in the last PR instead, assuming there are multiple PRs? |
@jpkrohling there is also some current documentation that may not be up-to-date https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#adding-new-components |
Based on this issue's description, here's a new version, based on what we discussed during the latest SIG meeting:
|
I think the issue cannot have the sponsor initially, I see the flow as open the issue with details and then identify a sponsor (approvers can nominate themselves or round robin per your comments). If a sponsor is identified then we can proceed to PRs, otherwise no PRs |
"cannot", or "can not"? It seems that it should be fine to open an issue with a sponsor already identified, but that it isn't required to have a sponsor before opening an issue. |
Should this be closed? I think we have the guidelines already in place: |
I have authored a few components already and reviewed a few more, but it's not always clear to me what should be included and where. I can imagine that others have the same problem. The contributing guidelines help in this direction, but it's still a bit limited. This issue aims to capture a checklist for new components, with the goal of updating the contributing guidelines with this information.
Before any code is written:
First PR:
Subsequent PRs, except the last one:
Last PR:
make run
)On the -releases repo:
The text was updated successfully, but these errors were encountered: