Skip to content

Commit d9ff3c9

Browse files
authored
[chore]Update CONTRIBUTING.md for public, new signalfx project members, and current signalfx project members (#1639)
This PR is just getting stale, going to merge it as is and open a PR in the future for more improvements.
1 parent 01ff75e commit d9ff3c9

File tree

1 file changed

+42
-21
lines changed

1 file changed

+42
-21
lines changed

CONTRIBUTING.md

Lines changed: 42 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -43,31 +43,52 @@ button on any of our documentation pages.
4343

4444
## Contributing via Pull Requests
4545

46-
Contributions via Pull Requests (PRs) are much appreciated. Before sending us a
47-
pull request, please ensure that:
46+
We appreciate your contributions! Here’s a breakdown of the steps based on your relationship with the owner SignalFX organization:
4847

49-
1. You are working against the latest source on the `main` branch.
50-
2. You check existing open, and recently merged, pull requests to make sure
51-
someone else hasn't addressed the problem already.
52-
3. You open an issue to discuss any significant work - we would hate for your
53-
time to be wasted.
54-
4. You submit PRs that are easy to review and ideally less 500 lines of code.
55-
Multiple PRs can be submitted for larger contributions.
48+
### Case 1: Public Contributors (No Connection to SignalFX Organization)
49+
50+
As a **public contributor** with no relation to SignalFX organization, you will likely **not have permission to create a feature branch** in the SignalFX repository. Here’s what to do:
51+
52+
1. **Fork the repository**: Create a fork of the repository and work on your own feature branch.
53+
2. **Submit a PR from your fork**: Open a PR from your forked repository.
54+
3. **Request help from SignalFX Team**: Since you don't have the required permissions to create a github.com/signalfx/splunk-otel-collector-chart owned feature branch, kindly request help from the SignalFX team members who are code owners. We will assist in getting your PR set up for proper testing.
55+
4. **Security and testing**: We may need to slightly modify or re-create your PR to ensure it works with our live Kubernetes test clusters, as this is a security requirement for accessing these clusters.
56+
57+
### Case 2: SignalFX Members (New to the Project)
58+
59+
As a **SignalFX team member** who is new to this project, you are allowed to work with forks for personal work, but for merging changes into the main repository, you must follow these steps:
60+
61+
1. **Fork for personal work**: Continue using your fork for personal development and initial testing.
62+
2. **Create a PR with SignalFX-owned feature branch**: When you're ready to submit a PR to the main repository, create a feature branch **owned by github.com/signalfx/splunk-otel-collector-chart**. This ensures that the **functional tests** can run on our live test clusters (EKS, GKE, AKS).
63+
3. **Get help if needed**: If you're unsure about how to create the feature branch under the SignalFX organization, just ask the team for assistance.
64+
65+
### Case 3: Regular Contributors (Co-Owners of the Project)
66+
67+
As a **regular contributor** who is a co-owner of the repository, you are fully responsible for maintaining and supporting the project. You will follow these steps:
68+
69+
1. **Create SignalFX-owned feature branches**: Continue managing and maintaining the repository using **github.com/signalfx/splunk-otel-collector-chart owned feature branches**.
70+
2. **Run functional tests**: Ensure that all your PRs pass full validation, including tests against real Kubernetes test clusters (EKS, GKE, AKS), to ensure everything is working as expected.
71+
3. **Support the community**: Take responsibility for the community by maintaining test coverage, supporting contributors, and helping new contributors integrate with the project.
72+
73+
### Best Practices for PRs
74+
75+
Contributions via Pull Requests (PRs) are much appreciated. Before sending us a pull request, please ensure that:
76+
77+
1. **Work against the latest `main` branch**: Ensure your branch is up to date with the latest code in the `main` branch.
78+
2. **Check for duplicate work**: Review existing open and recently merged PRs to avoid duplicating someone else’s work.
79+
4. **Keep your PR manageable**: Ideally, submit PRs that are **less than 500 lines of code**. For larger contributions, consider splitting them into multiple PRs to make review easier.
5680

5781
To send us a pull request, please:
5882

59-
1. Fork the repository.
60-
2. Modify the source; please ensure a single change per PR. If you also
61-
reformat all the code, it will be hard for us to focus on your change.
62-
3. Please follow the versioning instructions found in the [RELEASE.md](https://github.com/signalfx/splunk-otel-collector-chart/blob/main/RELEASE.md).
63-
4. Ensure local tests pass and add new tests related to the contribution.
64-
5. Add a CHANGELOG.md entry (make chlog-new) if the behavior of this chart is altered, see [Changelog Guidelines](https://signalfx/splunk-otel-collector-chart/blob/main/CONTRIBUTING.md#changelog-guidelines).
65-
6. Render example documentation (make render) if chart templates are updated.
66-
7. Commit to your fork using clear commit messages.
67-
8. Send us a pull request, answering any default questions in the pull request
68-
interface.
69-
9. Pay attention to any automated CI failures reported in the pull request, and
70-
stay involved in the conversation.
83+
1. **Fork the repository**: Begin by forking the repository.
84+
2. **Make a single change per PR**: Focus on a **single change** per PR. If you need to reformat code, do it in a separate PR.
85+
3. **Follow versioning instructions**: Refer to the [RELEASE.md](https://github.com/signalfx/splunk-otel-collector-chart/blob/main/RELEASE.md) for versioning guidelines.
86+
4. **Ensure tests pass**: Run tests locally and add new tests as needed for your contribution.
87+
5. **Update the CHANGELOG**: If your PR alters functionality, add an entry to `CHANGELOG.md` using `make chlog-new`. Refer to the [Changelog Guidelines](https://signalfx/splunk-otel-collector-chart/blob/main/CONTRIBUTING.md#changelog-guidelines).
88+
6. **Render example documentation**: If chart templates are updated, run `make render` to generate updated documentation.
89+
7. **Commit with clear messages**: Use **clear commit messages** that describe your changes.
90+
8. **Submit the PR**: Open a PR and answer any default questions in the PR interface.
91+
9. **Engage with CI feedback**: Pay attention to any automated CI failures reported in your PR and stay involved in the conversation to resolve issues.
7192

7293
GitHub provides additional documentation on [forking a
7394
repository](https://help.github.com/articles/fork-a-repo/) and [creating a pull

0 commit comments

Comments
 (0)