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
The change supposed to have more practical recommendations and reflect
the real processes for maintaining the project.
Signed-off-by: hagen1778 <[email protected]>
Copy file name to clipboardExpand all lines: docs/CONTRIBUTING.md
+47-41Lines changed: 47 additions & 41 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,54 +22,60 @@ If you like VictoriaMetrics and want to contribute, then it would be great:
22
22
- experience sharing with colleagues.
23
23
- Convincing your management to sign [Enterprise contract](https://docs.victoriametrics.com/enterprise/) with VictoriaMetrics.
24
24
25
-
## Pull request checklist
26
-
27
-
Before sending a pull request to [VictoriaMetrics repository](https://github.com/VictoriaMetrics/VictoriaMetrics/) please make sure it **conforms all** the following checks:
28
-
29
-
- The pull request conforms [VictoriaMetrics goals](https://docs.victoriametrics.com/goals/).
30
-
- The pull request conforms [`KISS` principle](https://en.wikipedia.org/wiki/KISS_principle). See [these docs](#kiss-principle) for more details.
31
-
- The pull request contains clear description of the change, with links to the related GitHub issues and [docs](https://docs.victoriametrics.com/), if needed.
32
-
- Commit messages contain concise yet clear descriptions. Include links to related GitHub issues in commit messages, if such issues exist.
33
-
- All the commits are signed and include `Signed-off-by` line. Use `git commit -s` to include `Signed-off-by` your commits.
34
-
See [this doc](https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work) about how to sign git commits.
35
-
- All the lint checks are passing locally via `make check-all` command run from the VictoriaMetrics repository root.
36
-
- All the tests are passing locally via `make test-full` command run from the VictoriaMetrics repository root.
37
-
- If the change fixes some bug, it would be great to cover it by [tests](https://pkg.go.dev/testing) if it isn't covered yet by existsing tests.
38
-
- If the change improves performance or reduces resource usage, then it would be great to add [benchmarks](https://pkg.go.dev/testing#hdr-Benchmarks)
39
-
and mention benchmark results before and after the change in the description to the pull request.
40
-
- If the change implements some specifications or uses some external APIs, then please provide permanent links to these specs and APIs
41
-
directly in the relevant source code, in order to simplify further maintenance of the code.
42
-
- If the change modifies the existing logic, make sure it doesn't break existing user setups after the upgrade.
43
-
- Please investigate git commit history for the code you change in order to make sure your change doesn't break historical conventions in the modified code.
44
-
45
-
Further checks are optional for external contributions:
25
+
## Issues
26
+
27
+
When making a new issue, make sure to create no duplicates. Use GitHub search to find whether similar issues exist already.
28
+
The new issue should be written in English and contain concise description of the problem and environment where it exists.
29
+
We'd very much prefer to have a specific use-case included in the description, since it could have workaround or alternative solutions.
30
+
31
+
When looking for an issue to contribute, always prefer working on [bugs](https://github.com/VictoriaMetrics/VictoriaMetrics/issues?q=is%3Aopen+is%3Aissue+label%3Abug)
32
+
instead of [enhancements](https://github.com/VictoriaMetrics/VictoriaMetrics/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement).
33
+
Helping other people with their [questions](https://github.com/VictoriaMetrics/VictoriaMetrics/issues?q=is%3Aopen+is%3Aissue+label%3Aquestion) is also a contribution.
34
+
35
+
If you'd like to contribute to [documentation](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/docs) please
36
+
read the [guideline](https://docs.victoriametrics.com/#documentation).
37
+
38
+
### Labels
39
+
40
+
We use [labels](https://docs.github.com/en/issues/using-labels-and-milestones-to-track-work/managing-labels)
41
+
to categorize GitHub issues. We have the following labels:
42
+
1. A component label: vmalert, vmagent, etc. Add this label to the issue if it is related to a specific component.
43
+
1. An issue type: `bug`, `enhancement`, `question`.
44
+
1.`enterprize`, assigned to issues related to ENT features
45
+
1.`need more info`, assigned to issues which require elaboration from the issue creator.
46
+
For example, if we weren't able to reproduce the reported bug based on the ticket description then we ask additional
47
+
questions which could help to reproduce the issue and add `need more info` label. This label helps other maintainers
48
+
to understand that this issue wasn't forgotten but waits for the feedback from user.
49
+
1.`waiting for release`, assigned to issues that required code changes and those changes were merged to upstream, but not released yet.
50
+
Once a release is made, maintainers go through all labeled issues, leave a comment about the new release, remove the label, and close the issue.
51
+
1.`vmui`, assigned to issues related to https://docs.victoriametrics.com/#vmui or https://docs.victoriametrics.com/victorialogs/querying/#web-ui
46
52
47
-
- The change must be described in **clear user-readable** form at [docs/CHANGELOG.md](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/docs/CHANGELOG.md),
48
-
since it is read by **VictoriaMetrics users** who may not know implementation details of VictoriaMetrics products. The change description must **clearly** answer the following questions:
49
-
50
-
- What does this change do? There is no need to provide technical details for the change, since they may confuse VictoriaMetrics users, who do not know Go.
51
-
- Why this change is needed?
52
-
53
-
The change description must link to the related GitHub issues and the related docs, if any.
53
+
## Pull request checklist
54
54
55
-
Tips for writing a good changelog message:
55
+
Implementing a bugfix or enhancement requires sending a pull request to the [corresponding repository](https://github.com/orgs/VictoriaMetrics/repositories).
56
56
57
-
- Write a human-readable changelog message that describes the problem and the solution.
58
-
- Use specific text, which can be googled by users interested in the change, such as an error message, metric name, command-line flag name, etc.
59
-
- Provide a link to the related GitHub issue or pull request.
60
-
- Provide a link to the relevant documentation if the change modifies user-visible behaviour of VictoriaMetrics producs.
57
+
A pull request should contain the following attributes:
58
+
1. Don't use `master` branch for making PRs, as it makes it impossible for reviewers to modify the change.
59
+
1. All commits need to be [signed](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits).
60
+
1. A clear and concise description of what was done and for what purpose.
61
+
1. A link to the issue related to this change, if any.
62
+
1. Tests proving that the change is effective. See [this style guide](https://itnext.io/f-tests-as-a-replacement-for-table-driven-tests-in-go-8814a8b19e9e) for tests.
63
+
To run tests and code checks locally execute commands `make tests-full` and `make check-all`.
64
+
1. Try to not extend the scope of the pull requests outside the issue, do not make unrelated changes.
65
+
1. Documentation update, if needed. For example, adding a new flag or changing behavior of existing flags or features
66
+
requires reflecting these changes in the documentation.
67
+
1. A line in the [changelog](https://docs.victoriametrics.com/changelog/#tip) mentioning the change and related issue.
68
+
1. Reviewers who you think have the best expertise on the matter.
61
69
62
-
- After your pull request is merged, please add a message to the issue with instructions for how to test the change you added before the new release.
63
-
[Here is an example](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4048#issuecomment-1546453726).
64
-
- Do not close the original issue before the change is released. In some cases Github can automatically close the issue once PR is merged. Re-open the issue in such case.
65
-
- If the change introduces a new feature, this feature must be documented in **user-readable** form at the appropriate parts of [VictoriaMetrics docs](https://docs.victoriametrics.com/).
66
-
The docs' sources are located in the [`docs` folder](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/docs).
70
+
See good example of pull request [here](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/6487).
67
71
68
-
Examples of good changelog messages:
72
+
To merge the PR it should be approved by at least one reviewer, all CI checks should be green.
69
73
70
-
* FEATURE: [vmagent](https://docs.victoriametrics.com/vmagent/): add support for [VictoriaMetrics remote write protocol](https://docs.victoriametrics.com/vmagent/#victoriametrics-remote-write-protocol) when [sending / receiving data to / from Kafka](https://docs.victoriametrics.com/vmagent/#kafka-integration). This protocol allows saving egress network bandwidth costs when sending data from `vmagent` to `Kafka` located in another datacenter or availability zone. See [this feature request](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1225).
74
+
Once the PR is merged, check if related issues are still opened (GitHub may close it on PR merge).
75
+
The issue should be closed only when the change gets included into an actual release.
71
76
72
-
* BUGFIX: [stream aggregation](https://docs.victoriametrics.com/stream-aggregation/): suppress `series after dedup` error message in logs when `-remoteWrite.streamAggr.dedupInterval` command-line flag is set at [vmagent](https://docs.victoriametrics.com/vmagent/) or when `-streamAggr.dedupInterval` command-line flag is set at [single-node VictoriaMetrics](https://docs.victoriametrics.com/).
77
+
Label `waiting for release` is added to issues related to the merged PR. It makes easier for the person who makes the release
78
+
to track the related tickets and update them once release is published.
Copy file name to clipboardExpand all lines: docs/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2689,7 +2689,7 @@ To update the documentation follow the steps below:
2689
2689
- To update other pages, apply changes to the corresponding file in [docs folder](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/docs).
2690
2690
- If your changes contain an image then see [images in documentation](https://docs.victoriametrics.com/#images-in-documentation).
0 commit comments