@@ -60,3 +60,92 @@ on something that maintainers may decide this repo is not the right place for.
6060
6161See [ developing.md] ( developing.md ) to learn more about
6262the development environment setup and usage.
63+
64+ ## Create Your First Pull Request
65+
66+ ### How to Send Pull Requests
67+
68+ Everyone is welcome to contribute code to ` opentelemetry-dotnet-instrumentation `
69+ via GitHub pull requests (PRs).
70+
71+ To create a new PR, fork the project in GitHub and clone the upstream repo:
72+
73+ > [ !NOTE]
74+ > Please fork to a personal GitHub account rather than a corporate/enterprise
75+ > one so maintainers can push commits to your branch.
76+ > ** Pull requests from protected forks will not be accepted.**
77+
78+ ``` sh
79+ git clone https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation.git
80+ ```
81+
82+ Navigate to the repo root:
83+
84+ ``` sh
85+ cd opentelemetry-dotnet-instrumentation
86+ ```
87+
88+ Add your fork as an origin:
89+
90+ ``` sh
91+ git remote add fork https://github.com/YOUR_GITHUB_USERNAME/opentelemetry-dotnet-instrumentation.git
92+ ```
93+
94+ Check out a new branch, make modifications and push the branch to your fork:
95+
96+ ``` sh
97+ $ git checkout -b feature
98+ # change files
99+ # Test your changes locally.
100+ $ nuke Workflow
101+ $ git add my/changed/files
102+ $ git commit -m " short description of the change"
103+ $ git push fork feature
104+ ```
105+
106+ Open a pull request against the main ` opentelemetry-demo ` repo.
107+
108+ ### How to Receive Comments
109+
110+ * If the PR is not ready for review, please mark it as
111+ [ ` draft ` ] ( https://github.blog/2019-02-14-introducing-draft-pull-requests/ ) .
112+ * Make sure CLA is signed and all required CI checks are clear.
113+ * Submit small, focused PRs addressing a single
114+ concern/issue.
115+ * Make sure the PR title reflects the contribution.
116+ * Write a summary that helps understand the change.
117+ * Include usage examples in the summary, where applicable.
118+ * Include benchmarks (before/after) in the summary, for contributions that are
119+ performance enhancements.
120+
121+ ### How to Get PRs Merged
122+
123+ A PR is considered to be ** ready to merge** when:
124+
125+ * It has received approval from
126+ [ Approvers] ( https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#approver )
127+ /
128+ [ Maintainers] ( https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#maintainer ) .
129+ * Major feedbacks are resolved.
130+ * The documentation and [ Changelog] ( ../CHANGELOG.md ) have been updated
131+ to reflect the new changes.
132+
133+ Any Maintainer can merge the PR once it is ** ready to merge** . Note, that some
134+ PRs may not be merged immediately if the repo is in the process of a release and
135+ the maintainers decided to defer the PR to the next release train.
136+
137+ If a PR has been stuck (e.g. there are lots of debates and people couldn't agree
138+ on each other), the owner should try to get people aligned by:
139+
140+ * Consolidating the perspectives and putting a summary in the PR. It is
141+ recommended to add a link into the PR description, which points to a comment
142+ with a summary in the PR conversation.
143+ * Tagging subdomain experts (by looking at the change history) in the PR asking
144+ for suggestion.
145+ * Reaching out to more people on the [ CNCF OpenTelemetry Automatic
146+ instrumentation for .NET Slack channel] ( https://cloud-native.slack.com/archives/C01NR1YLSE7 ) .
147+ * Stepping back to see if it makes sense to narrow down the scope of the PR or
148+ split it up.
149+ * If none of the above worked and the PR has been stuck for more than 2 weeks,
150+ the owner should bring it to the OpenTelemetry Automatic Instrumentation SIG
151+ [ meeting] ( README.md#contributing ) .
0 commit comments