You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[doc] Recover links and formatting in contribution guidelines (#4323)
Recover the hyperlinks and the text formatting that ended up getting
lost when transferring the contribution guidelines from a doc. Plus
a few more drive-by fixes.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+63-45Lines changed: 63 additions & 45 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,17 +35,17 @@ with governance goals.
35
35
36
36
**META1.** Everyone in the team can propose additional guidelines.<br>
37
37
**META2.** Everyone in the team can question and propose changes to guidelines.<br>
38
-
**META3.** Before the first set of guidelines is established, everyone in the team is invited to
38
+
**META3.** Before the *first* set of guidelines is established, everyone in the team is invited to
39
39
participate in live discussions about them.<br>
40
40
**META4.** Before a new version of these guidelines is established, everyone in the team reviews it
41
41
independently, except if away on prolonged absence.<br>
42
-
**META5.** Ideally, all team members come to agree on any given version of these guidelines before
42
+
**META5.** Ideally, all team members come to *agree* on any given version of these guidelines before
43
43
it is established.<br>
44
-
**META6.** Where that is not possible, preferably a majority of the team agrees with any given
44
+
**META6.** Where that is not possible, preferably a majority of the team *agrees* with any given
45
45
version of these guidelines before it is established.<br>
46
-
**META7.** Preferably, all team members accept the latest established version of these guidelines,
46
+
**META7.** Preferably, all team members *accept* the latest established version of these guidelines,
47
47
until the team agrees to modify it.<br>
48
-
**META8.** In any case, all team members abide by the latest established version of these
48
+
**META8.** In any case, all team members *abide* by the latest established version of these
49
49
guidelines, until the team agrees to modify it.<br>
50
50
**META9.** Established guidelines are taken seriously, but with a grain of salt. They are guidelines
51
51
after all, not absolute rules.<br>
@@ -57,11 +57,14 @@ pull requests.<br>
57
57
58
58
### Core principles (MU)
59
59
60
-
Principles for the members of the Multipass team. Many of these are inspired by Canonical's values,
60
+
Principles for the members of the Multipass team. Many of these are inspired
61
+
by [Canonical's values](https://discourse.canonical.com/t/reaffirming-our-company-values/4525),
61
62
which we should keep in mind.
62
63
63
64
**MU1.** Aim at excellence.<br>
64
-
**MU2.** Follow best practices (refer to other pertinent documents, e.g.CppCoreGuidelines).<br>
65
+
**MU2.**
66
+
Follow best practices (refer to other pertinent documents,
67
+
e.g. [CppCoreGuidelines](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines)).<br>
65
68
**MU3.** Think critically (even about best practices).<br>
66
69
**MU4.** Favor collaboration.<br>
67
70
**MU5.** Be open to feedback.<br>
@@ -80,31 +83,34 @@ which we should keep in mind.
80
83
81
84
Descriptive rules of how releases are obtained from Git.
82
85
83
-
**REL1.** The trunk of Multipass development happens in the main branch, which releases branch out
86
+
**REL1.** The trunk of Multipass development happens in the `main` branch, which releases branch out
84
87
of.<br>
85
-
**REL2.** Preferably, release branches contain only commits that are directly reachable from main or
86
-
cherry-picked from it.<br>
88
+
**REL2.** Preferably, release branches contain only commits that are directly reachable from `main`
89
+
or cherry-picked from it.<br>
87
90
**REL3.** Cherry-picked commits in release branches may differ from the original ones only where
88
91
necessary to avoid or fix conflicts.<br>
89
92
**REL4.** In exceptional cases, release branches may contain dedicated commits for bug, build, or
90
93
conflict fixes.<br>
91
-
**REL5.** After a release is published, the corresponding release branch is merged back into main.<br>
94
+
**REL5.** After a release is published, the corresponding release branch is merged back into
95
+
`main`.<br>
92
96
93
97
### Pull Requests (PR)
94
98
95
99
Guidelines for how we use and handle pull requests.
96
100
97
-
**PR1.** Concrete modifications of Multipass can be proposed via Pull Requests (AKA PRs) targeting
98
-
the main branch.<br>
99
-
**PR2.** Prefer small, single issue PRs.<br>
101
+
**PR1.** Concrete modifications of Multipass can be proposed
102
+
via [Pull Requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)
103
+
(AKA PRs) targeting the `main` branch.<br>
104
+
**PR2.** Prefer small, single-issue PRs.<br>
100
105
**PR3.** A PR should introduce a coherent change that appears as a unit in a medium or high level of
101
106
abstraction.<br>
102
-
**PR4.** The main branch is modified exclusively via PRs, except for an empty commit after branching
103
-
for release.<br>
104
-
**PR5.** PRs accepted into main are merged with merge commits.<br>
105
-
**PR6.** PRs to main should typically be covered by automated tests.<br>
107
+
**PR4.** The `main` branch is modified exclusively via PRs, except for an empty commit after
108
+
branching for release.<br>
109
+
**PR5.** PRs accepted into `main` are merged with merge commits.<br>
110
+
**PR6.** PRs to `main` should typically be covered by automated tests.<br>
106
111
**PR7.** If a PR is valuable on its own, does not depend on others, and does not involve dead code,
107
-
target the main branch, even if it is part of a larger task. This should be the most common case.<br>
112
+
target the `main` branch, even if it is part of a larger task. This should be the most common
113
+
case.<br>
108
114
**PR8.** If your PR relies on another one, target the other's branch.<br>
109
115
**PR9.** When working on a larger set of changes with cohesive interdependence, consider using a
110
116
feature branch.<br>
@@ -128,9 +134,10 @@ is mandatory for external PRs (authored or committed from outside the Multipass
128
134
Renovate bot).<br>
129
135
**RVW6.** After a PR is approved by multiple people, small updates require only a single additional
130
136
approval (i.e. after multiple approvals are dismissed).<br>
131
-
**RVW7.** Notably trivial PRs by the Multipass team may be merged after a single primary approval.<br>
137
+
**RVW7.** Notably trivial PRs by the Multipass team may be merged after a single primary
138
+
approval.<br>
132
139
**RVW8.** Renovate PRs may be merged after a single primary approval.<br>
133
-
**RVW9.** Review comments should be acknowledged by the author, but resolved by the reviewer.<br>
140
+
**RVW9.** Review comments should be acknowledged by the author, but *resolved* by the reviewer.<br>
134
141
135
142
### Versioning (GIT)
136
143
@@ -141,16 +148,21 @@ there should be two commits instead.<br>
141
148
**GIT3.** Strive to preserve a clean but detailed git history.<br>
142
149
**GIT4.** Avoid squashing.<br>
143
150
**GIT5.** Prefer additional commits during review (easier for reviewers to see the diff).<br>
144
-
**GIT6.** Avoid merging the target branch back into topic. Rebase instead.<br>
145
-
**GIT7.** External contributors are encouraged to sign their commits, while Multipass team members
146
-
are required to do so.<br>
151
+
**GIT6.** Avoid merging the target branch back into the topic branch. Rebase instead.<br>
152
+
**GIT7.** External contributors are encouraged to
153
+
[sign their commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits),
154
+
while Multipass team members are required to do so.<br>
147
155
**GIT8.** Use kebab-case branch names (i.e. lower-case-words-separated-with-hyphens).<br>
148
156
**GIT9.** Do not introduce whitespace errors.<br>
149
157
150
158
### Commit messages (MSG)
151
159
152
-
Guidelines for writing commit messages for non-merge commits. They are inspired by this and other
153
-
posts. The category prefix is the main originality.
160
+
Guidelines for writing commit messages for non-merge commits. They are inspired by
0 commit comments