Skip to content

Latest commit

 

History

History
149 lines (107 loc) · 5.06 KB

CONTRIBUTING.md

File metadata and controls

149 lines (107 loc) · 5.06 KB

Contributing to opentelemetry-ebpf-profiler

The Profiling special interest group (SIG) meets regularly. See the OpenTelemetry community repo for information on this and other SIGs.

Community

See the public meeting notes for a summary description of past meetings.

See the calendar group to get invited to meetings.

See the #otel-profiles slack channel for discussions and questions.

Development

You can view and edit the source code by cloning this repository:

git clone https://github.com/open-telemetry/opentelemetry-ebpf-profiler

Run make test to run the tests instead of go test.

Pull Requests

How to Send Pull Requests

Everyone is welcome to contribute code to opentelemetry-ebpf-profiler via GitHub pull requests (PRs).

To create a new PR, fork the project in GitHub and clone the upstream repo:

git clone https://github.com/open-telemetry/opentelemetry-ebpf-profiler

This will put the project in opentelemetry-ebpf-profiler in current working directory.

Enter the newly created directory and add your fork as a new remote:

git remote add <YOUR_FORK> [email protected]:<YOUR_GITHUB_USERNAME>/opentelemetry-ebpf-profiler

Check out a new branch, make modifications, run linters and tests, and push the branch to your fork:

git checkout -b <YOUR_BRANCH_NAME>
# edit files
# update changelog
git add -p
git commit
git push <YOUR_FORK> <YOUR_BRANCH_NAME>

Open a pull request against the main opentelemetry-ebpf-profiler repo.

Avoid rebasing and force-pushing to your branch to facilitate reviewing the pull request. Rewriting Git history makes it difficult to keep track of iterations during code review. All pull requests are squashed to a single commit upon merge to main.

How to Receive Comments

  • If the PR is not ready for review, please put [WIP] in the title, tag it as work-in-progress, or mark it as draft.
  • Make sure CLA is signed and CI is clear.

How to Get PRs Merged

A PR is considered ready to merge when:

  • It has received two qualified approvals1.

    This is not enforced through automation, but needs to be validated by the maintainer merging.

    • PRs introducing changes that have already been discussed and consensus reached only need one qualified approval. The discussion and resolution needs to be linked to the PR.
  • All feedback has been addressed.

    • All PR comments and suggestions are resolved.
    • All GitHub Pull Request reviews with a status of "Request changes" have been addressed. Another review by the objecting reviewer with a different status can be submitted to clear the original review, or the review can be dismissed by a Maintainer when the issues from the original review have been addressed.
    • Any comments or reviews that cannot be resolved between the PR author and reviewers can be submitted to the community Approvers and Maintainers during the weekly SIG meeting. If consensus is reached among the Approvers and Maintainers during the SIG meeting the objections to the PR may be dismissed or resolved or the PR closed by a Maintainer.
    • Any substantive changes to the PR require existing Approval reviews be cleared unless the approver explicitly states that their approval persists across changes. This includes changes resulting from other feedback. Approvers and Maintainers can help in clearing reviews and they should be consulted if there are any questions.
  • The PR branch is up to date with the base branch it is merging into.

    • To ensure this does not block the PR, it should be configured to allow maintainers to update it.
  • It has been open for review for at least one working day. This gives people reasonable time to review.

  • All required GitHub workflows have succeeded.

  • Urgent fix can take exception as long as it has been actively communicated among Maintainers.

Any Maintainer can merge the PR once the above criteria have been met.

Approvers and Maintainers

Approvers

Maintainers

Become an Approver or a Maintainer

See the community membership document in OpenTelemetry community repo.

Footnotes

  1. A qualified approval is a GitHub Pull Request review with "Approve" status from an OpenTelemetry Profiler Approver or Maintainer.