Skip to content

Commit 30ba040

Browse files
authored
docs: Update CONTRIBUTING.md (#809)
Signed-off-by: Adam Gardner <[email protected]>
1 parent 0a3a55e commit 30ba040

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed

CONTRIBUTING.md

+85
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,90 @@ The project uses remote buf packages, changing the remote generation source will
2222
export GOPRIVATE=buf.build/gen/go
2323
```
2424

25+
## DCO Sign-Off
26+
27+
A DCO (Developer Certificate of Origin) sign-off is a line placed at the end of
28+
a commit message containing a contributor's "signature." In adding this, the
29+
contributor certifies that they have the right to contribute the material in
30+
question.
31+
32+
Here are the steps to sign your work:
33+
34+
1. Verify the contribution in your commit complies with the
35+
[terms of the DCO](https://developercertificate.org/).
36+
37+
1. Add a line like the following to your commit message:
38+
39+
```shell
40+
Signed-off-by: Joe Smith <[email protected]>
41+
```
42+
43+
You MUST use your legal name -- handles or other pseudonyms are not
44+
permitted.
45+
46+
While you could manually add DCO sign-off to every commit, there is an easier
47+
way:
48+
49+
1. Configure your git client appropriately. This is one-time setup.
50+
51+
```shell
52+
git config user.name <legal name>
53+
git config user.email <email address you use for GitHub>
54+
```
55+
56+
If you work on multiple projects that require a DCO sign-off, you can
57+
configure your git client to use these settings globally instead of only
58+
for Brigade:
59+
60+
```shell
61+
git config --global user.name <legal name>
62+
git config --global user.email <email address you use for GitHub>
63+
```
64+
65+
1. Use the `--signoff` or `-s` (lowercase) flag when making each commit.
66+
For example:
67+
68+
```shell
69+
git commit --message "<commit message>" --signoff
70+
```
71+
72+
If you ever make a commit and forget to use the `--signoff` flag, you
73+
can amend your commit with this information before pushing:
74+
75+
```shell
76+
git commit --amend --signoff
77+
```
78+
79+
1. You can verify the above worked as expected using `git log`. Your latest
80+
commit should look similar to this one:
81+
82+
```shell
83+
Author: Joe Smith <[email protected]>
84+
Date: Thu Feb 2 11:41:15 2018 -0800
85+
86+
Update README
87+
88+
Signed-off-by: Joe Smith <[email protected]>
89+
```
90+
91+
Notice the `Author` and `Signed-off-by` lines match. If they do not, the
92+
PR will be rejected by the automated DCO check.
93+
94+
## Conventional PR Titles
95+
96+
When raising PRs, please format according to [conventional commit standards](https://www.conventionalcommits.org/en/v1.0.0/#summary)
97+
98+
For example: `docs: some PR title here...`
99+
25100
Thanks!
26101
Issues and pull requests following these guidelines are welcome.
102+
103+
## Markdown Lint and Markdown Lint Fix
104+
105+
PRs are expected to conform to markdown lint rules.
106+
107+
Therefore, run `make markdownlint-fix` to auto-fix _most_ issues.
108+
Then commit the results.
109+
110+
For those issues that cannot be auto-fixed, run `make markdownlint`
111+
then manually fix whatever it warns about.

0 commit comments

Comments
 (0)