Skip to content

Commit 00b8f5e

Browse files
feat: Add CONTRIBUTING.md
Signed-off-by: Anthony TREUILLIER <anthony.treuillier@scality.com>
1 parent 4401525 commit 00b8f5e

1 file changed

Lines changed: 121 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# Contributing to the Project
2+
3+
This document contains and defines the rules that have to be followed by any
4+
contributor to the project, in order for any change to be merged into the
5+
stable branches.
6+
7+
## Workflow Guidelines
8+
9+
### Branching Guidelines
10+
11+
When branching, the branch name should have one of the following prefixes:
12+
13+
* improvement/
14+
* bugfix/
15+
* feature/
16+
17+
Failure to name the branch with one of these prefixes will cause our merging
18+
bot to **ignore** the pull request at merge-time.
19+
20+
Additionally, the branch name should also contain a reference to the issue
21+
being tackled. For example, a branch tackling issue 123 introducing the new
22+
feature FooBar might be named `feature/GH-123-add-shiny-new-feature-FooBar`.
23+
24+
25+
### Committing Guidelines
26+
27+
No restrictions are placed at this time on individual commits passing in the
28+
CI and/or maintaining full functionality of the repository.
29+
30+
Commit messages should:
31+
32+
* have a short (< 50 characters) summary as title
33+
* contain more explanations, if necessary, in the body
34+
* contain a reference to the issue being tackled in the body
35+
36+
A commit message should *not* contain a reference to the issue in the title.
37+
38+
### Pull Request Guidelines
39+
40+
Pull requests should contain in their body a reference to the GitHub issue
41+
being targeted by the changeset introduced.
42+
43+
### Signing your work
44+
45+
In order to contribute to the project, you must sign your work. By signing your
46+
work, you certify to the statements set out in the Developer Certificate of
47+
Origin below (from
48+
[developercertificate.org](http://developercertificate.org/)):
49+
50+
```
51+
Developer Certificate of Origin
52+
Version 1.1
53+
54+
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
55+
1 Letterman Drive
56+
Suite D4700
57+
San Francisco, CA, 94129
58+
59+
Everyone is permitted to copy and distribute verbatim copies of this
60+
license document, but changing it is not allowed.
61+
62+
63+
Developer's Certificate of Origin 1.1
64+
65+
By making a contribution to this project, I certify that:
66+
67+
(a) The contribution was created in whole or in part by me and I
68+
have the right to submit it under the open source license
69+
indicated in the file; or
70+
71+
(b) The contribution is based upon previous work that, to the best
72+
of my knowledge, is covered under an appropriate open source
73+
license and I have the right under that license to submit that
74+
work with modifications, whether created in whole or in part
75+
by me, under the same open source license (unless I am
76+
permitted to submit under a different license), as indicated
77+
in the file; or
78+
79+
(c) The contribution was provided directly to me by some other
80+
person who certified (a), (b) or (c) and I have not modified
81+
it.
82+
83+
(d) I understand and agree that this project and the contribution
84+
are public and that a record of the contribution (including all
85+
personal information I submit with it, including my sign-off) is
86+
maintained indefinitely and may be redistributed consistent with
87+
this project or the open source license(s) involved.
88+
```
89+
90+
Signing your work is easy. Just add the following line at the end of each of
91+
your commit messages. You must use your real name in your sign-off.
92+
93+
```
94+
Signed-off-by: Jane Doe <jane.doe@email.com>
95+
```
96+
97+
If your `user.name` and `user.email` are set in your git configs, you can sign
98+
each commit automatically by using the `git commit -s` command.
99+
100+
Note that contributors employed by Scality are considered to sign every commit
101+
by virtue of their contract with Scality.
102+
103+
## Reporting an issue
104+
105+
This project uses Github issues to manage the issues.
106+
107+
Before creating an issue:
108+
109+
1. upgrade the operator to the latest supported release version, and check whether your bug is still present,
110+
2. ensure the operator version is supported by the PowerDNS version you are using,
111+
3. have a look in the opened issues if your problem is already known/tracked, and possibly contribute to the thread with your own information.
112+
113+
If none of the above was met, open an issue directly in Github, select the appropriate issue template and fill-in each section when applicable.
114+
115+
## Testing & Linting
116+
117+
Run tests and lint the code:
118+
```go
119+
go test -v ./...
120+
golangci-lint run
121+
```

0 commit comments

Comments
 (0)