10BC0 Add practices to contributor guidelines (#4702) · open-telemetry/opentelemetry.io@9ed7149 · GitHub
[go: up one dir, main page]

Skip to content

Commit 9ed7149

Browse files
svrnmtheletterfopentelemetrybot
authored
Add practices to contributor guidelines (#4702)
Signed-off-by: svrnm <neumanns@cisco.com> Co-authored-by: Fabrizio Ferri-Benedetti <fferribenedetti@splunk.com> Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
1 parent 8bae406 commit 9ed7149

File tree

3 files changed

+149
-72
lines changed

3 files changed

+149
-72
lines changed

content/en/docs/contributing/development.md

Lines changed: 0 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ title: Development
33
description:
44
Learn how to set up a development environment for the opentelemetry.io site.
55
weight: 60
6-
cSpell:ignore: chalin
76
---
87

98
The following instructions explain how to set up a development environment for
@@ -122,77 +121,6 @@ within a submodule, set the environment variable `GET=no`. You also need to run
122121
`git fetch --unshallow` the submodule before you can submit a PR. Alternatively,
123122
set `DEPTH=100` and re-fetch submodules.
124123
125-
## Approver and maintainer practices
126-
127-
This last section includes guidelines and some common practices used by
128-
approvers and maintainers while doing code reviews:
129-
130-
- PRs with changes to documentation co-owned by a SIG (collector, demo,
131-
language-specific...) should aim for two approvals: one by a docs approver and
132-
one by a SIG approver:
133-
- Doc approver label such PRs with `sig:<name>` and tag the SIG `-approvers`
134-
group on that PR
135-
- After a doc approver has reviewed and approved the PR, they can add the
136-
label
137-
[`sig-approval-missing`](https://github.com/open-telemetry/opentelemetry.io/labels/sig-approval-missing).
138-
This signals to the SIG that they need to handle the PR
139-
- If no SIG approval is given within a certain grace period (two weeks in
140-
general, but may be less in urgent cases), docs maintainer may use their own
141-
judgement to merge that PR
142-
- PRs created by bots can be merged by the following practice:
143-
- PRs that auto-update versions in the registry can be fixed, approved and
144-
merged immediately
145-
- PRs that auto-update the versions of SDKs, zero-code instrumentations or the
146-
collector can be approved and merged except the corresponding SIG signals
147-
that merging should be postponed
148-
- PRs that auto-update the version of any specification often require updates
149-
to scripts for the CI checks to pass. In that case often
150-
[@chalin](https://github.com/chalin/) will handle that PR. Otherwise those
151-
PRs can as well be approved and merged except the corresponding SIG signals
152-
that merging should be postponed.
153-
- PRs with changes to translations should aim for two approvals: one by a docs
154-
approver and one by a translation approver. Similar practices apply as
155-
suggested for the co-owned PRs.
156-
- If the PR branch is `out-of-date with the base branch`, they do not need to be
157-
updated continuously: every update triggers all the PR CI checks to be run!
158-
It's often enough to update them before merging.
159-
- A PR by non-maintainers should **never** update git sub modules. This happens
160-
by accident from time to time. Let the PR author know that they should not
161-
worry about it, we will fix this before merging, but in the future they should
162-
make sure that they work from an up-to-date fork.
163-
- If the contributor is having trouble signing the CLA or used the wrong email
164-
by mistake in one of their commits, ask them to fix the issue or rebase the
165-
pull request. Worst case scenario, close and re-open the PR to trigger a new
166-
CLA check.
167-
- Words unknown to cspell should be added to the cspell ignore list per page by
168-
PR authors. Only approvers and maintainers will add commonly used terms to the
169-
global list.
170-
- Approvers and maintainers have different work schedules and circumstances.
171-
That's why all communication is assumed to be asynchronously and they should
172-
not feel obligated to reply outside of their normal schedule.
173-
- When an approver or maintainer won't be available to contribute for an
174-
extended period of time (more than a few days or a week) or won't be available
175-
in that period of time, they should communicate this using the
176-
[#otel-comms](https://cloud-native.slack.com/archives/C02UN96HZH6) channel and
177-
updating the GitHub status.
178-
- Approver and maintainer adhere to the
179-
[OTel Code of Conduct](https://github.com/open-telemetry/community/?tab=coc-ov-file#opentelemetry-community-code-of-conduct)
180-
and are friendly and helpful towards contributors. In the case of a conflict,
181-
misunderstanding or any other kind of situation that makes an
182-
approver/maintainer feel uncomfortable they can step back from a conversation,
183-
issue or PR and ask another approver/maintainer to step in.
184-
185-
The following workflow can be applied by maintainers to merge PRs:
186-
187-
- Make sure that a PR has all approvals and all CI checks pass
188-
- If the branch is out-of-date, rebase update it via the GitHub UI.
189-
- The update will trigger all CI checks to run again, wait for them to pass or
190-
execute a script like the following to make it happen in the background:
191-
192-
```shell
193-
export PR=<ID OF THE PR>; gh pr checks ${PR} --watch && gh pr merge ${PR} --squash
194-
```
195-
196124
[clone]:
197125
https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository
198126
[fork]: https://docs.github.com/en/get-started/quickstart/fork-a-repo
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
---
2+
title: SIG practices for approver and maintainers
3+
linkTitle: SIG practices
4+
description:
5+
Learn how approvers and maintainers manage issues and contributions.
6+
weight: 999
7+
cSpell:ignore: chalin Comms docsy onboarded
8+
---
9+
10+
This pages includes guidelines and some common practices used by approvers and
11+
maintainers.
12+
13+
## Onboarding
14+
15+
If a contributor steps up to take on a role with more responsibility towards the
16+
documentation (approver, maintainer) they will be onboarded by existing
17+
approvers and maintainers:
18+
19+
- They are added to the `docs-approvers` (or `docs-maintainers`) group.
20+
- They are added to the `#otel-comms` and `#otel-maintainers` and private
21+
in-team slack channels.
22+
- They are asked to enroll for the calendar invites for
23+
[SIG Comms meeting](https://groups.google.com/a/opentelemetry.io/g/calendar-comms)
24+
and
25+
[maintainers meeting](https://groups.google.com/a/opentelemetry.io/g/calendar-maintainer-meeting).
26+
- They are asked to verify that the current meeting time for SIG Comms works for
27+
them and if not to collaborate with existing approvers and maintainers to find
28+
a time that suits everyone.
29+
- They are asked to review the different resources available for contributors:
30+
- [Community Resources](https://github.com/open-telemetry/community/),
31+
especially the document around
32+
[Community Membership](https://github.com/open-telemetry/community/blob/main/community-membership.md)
33+
and the
34+
[social media guide](https://github.com/open-telemetry/community/blob/main/social-media-guide.md).
35+
- [Contributing Guidelines](/docs/contributing) As part of this, they will
36+
review those documents and provide feedback for improving them via issues or
37+
pull requests.
38+
39+
Additional valuable resources to review are
40+
41+
- [Hugo documentation](https://gohugo.io/documentation/)
42+
- [Docsy documentation](https://www.docsy.dev/docs/)
43+
- [Marketing guidelines](/community/marketing-guidelines/), including the Linux
44+
Foundation’s branding and
45+
[trademark usage guidelines](https://www.linuxfoundation.org/legal/trademark-usage).
46+
Those are especially valuable when reviewing entries to the registry,
47+
integrations, vendors, adopters or distributions.
48+
49+
## Collaboration
50+
51+
- Approvers and maintainers have different work schedules and circumstances.
52+
That's why all communication is assumed to be asynchronous and they should not
53+
feel obligated to reply outside of their normal schedule.
54+
- When an approver or maintainer won't be available to contribute for an
55+
extended period of time (more than a few days or a week) or won't be available
56+
in that period of time, they should communicate this using the
57+
[#otel-comms](https://cloud-native.slack.com/archives/C02UN96HZH6) channel and
58+
updating the GitHub status.
59+
- Approver and maintainer adhere to the
60+
[OTel Code of Conduct](https://github.com/open-telemetry/community/?tab=coc-ov-file#opentelemetry-community-code-of-conduct)
61+
and the [Community Values](/community/mission/#community-values). They are
62+
friendly and helpful towards contributors. In the case of a conflict,
63+
misunderstanding or any other kind of situation that makes an
64+
approver/maintainer feel uncomfortable they can step back from a conversation,
65+
issue or PR and ask another approver/maintainer to step in.
66+
67+
## Code reviews
68+
69+
### General
70+
71+
- If the PR branch is `out-of-date with the base branch`, they do not need to be
72+
updated continuously: every update triggers all the PR CI checks to be run!
73+
It's often enough to update them before merging.
74+
- A PR by non-maintainers should **never** update git sub modules. This happens
75+
by accident from time to time. Let the PR author know that they should not
76+
worry about it, we will fix this before merging, but in the future they should
77+
make sure that they work from an up-to-date fork.
78+
- If the contributor is having trouble signing the CLA or used the wrong email
79+
by mistake in one of their commits, ask them to fix the issue or rebase the
80+
pull request. Worst case scenario, close and re-open the PR to trigger a new
81+
CLA check.
82+
- Words unknown to cspell should be added to the cspell ignore list per page by
83+
PR authors. Only approvers and maintainers will add commonly used terms to the
84+
global list.
85+
86+
### Co-owned PRs
87+
88+
PRs with changes to documentation co-owned by a SIG (collector, demo,
89+
language-specific...) should aim for two approvals: one by a docs approver and
90+
one by a SIG approver:
91+
92+
- Doc approver label such PRs with `sig:<name>` and tag the SIG `-approvers`
93+
group on that PR.
94+
- After a doc approver has reviewed and approved the PR, they can add the label
95+
[`sig-approval-missing`](https://github.com/open-telemetry/opentelemetry.io/labels/sig-approval-missing).
96+
This signals to the SIG that they need to handle the PR.
97+
- If no SIG approval is given within a certain grace period (two weeks in
98+
general, but may be less in urgent cases), docs maintainer may use their own
99+
judgement to merge that PR.
100+
101+
### PRs from bots
102+
103+
PRs created by bots can be merged by the following practice:
104+
105+
- PRs that auto-update versions in the registry can be fixed, approved and
106+
merged immediately.
107+
- PRs that auto-update the versions of SDKs, zero-code instrumentations or the
108+
collector can be approved and merged except the corresponding SIG signals that
109+
merging should be postponed.
110+
- PRs that auto-update the version of any specification often require updates to
111+
scripts for the CI checks to pass. In that case
112+
[@chalin](https://github.com/chalin/) will handle the PR. Otherwise those PRs
113+
can as well be approved and merged except the corresponding SIG signals that
114+
merging should be postponed.
115+
116+
### Translation PRs
117+
118+
PRs with changes to translations should aim for two approvals: one by a docs
119+
approver and one by a translation approver. Similar practices apply as suggested
120+
for the co-owned PRs.
121+
122+
### Merging PRs
123+
124+
The following workflow can be applied by maintainers to merge PRs:
125+
126+
- Make sure that a PR has all approvals and all CI checks pass.
127+
- If the branch is out-of-date, rebase update it via the GitHub UI.
128+
- The update will trigger all CI checks to run again, wait for them to pass or
129+
execute a script like the following to make it happen in the background:
130+
131+
```shell
132+
export PR=<ID OF THE PR>; gh pr checks ${PR} --watch && gh pr merge ${PR} --squash
133+
```

static/refcache.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4899,6 +4899,10 @@
48994899
"StatusCode": 206,
49004900
"LastSeen": "2024-06-06T14:51:47.628909-04:00"
49014901
},
4902+
"https://gohugo.io/documentation/": {
4903+
"StatusCode": 206,
4904+
"LastSeen": "2024-06-18T10:36:41.646389+02:00"
4905+
},
49024906
"https://gohugo.io/methods/site/regularpages/": {
49034907
"StatusCode": 206,
49044908
"LastSeen": "2024-06-07T12:38:33.735717-04:00"
@@ -4979,6 +4983,14 @@
49794983
"StatusCode": 206,
49804984
"LastSeen": "2024-01-18T19:02:58.077563-05:00"
49814985
},
4986+
"https://groups.google.com/a/opentelemetry.io/g/calendar-comms": {
4987+
"StatusCode": 200,
4988+
"LastSeen": "2024-06-18T10:36:39.590318+02:00"
4989+
},
4990+
"https://groups.google.com/a/opentelemetry.io/g/calendar-maintainer-meeting": {
4991+
"StatusCode": 200,
4992+
"LastSeen": "2024-06-18T10:36:41.220362+02:00"
4993+
},
49824 38B3 994
"https://grpc.github.io/grpc/core/md_doc_naming.html": {
49834995
"StatusCode": 206,
49844996
"LastSeen": "2024-01-18T08:53:24.217022-05:00"
@@ -8787,6 +8799,10 @@
87878799
"StatusCode": 200,
87888800
"LastSeen": "2024-01-30T06:08:30.61479-05:00"
87898801
},
8802+
"https://www.docsy.dev/docs/": {
8803+
"StatusCode": 206,
8804+
"LastSeen": "2024-06-18T10:36:42.507515+02:00"
8805+
},
87908806
"https://www.dynatrace.com/news/blog/what-is-opentelemetry-2/": {
87918807
"StatusCode": 200,
87928808
"LastSeen": "2024-01-18T19:10:40.326174-05:00"

0 commit comments

Comments
 (0)
0