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
Thanks for your interest in contributing! This document contains `nats-io/nats.go` specific contributing details. If you are a first-time contributor, please refer to the general [NATS Contributor Guide](https://nats.io/contributing/) to get a comprehensive overview of contributing to the NATS project.
3
+
Thanks for your interest in contributing! This document contains `nats-io/nats.go` specific contributing details. If you
4
+
are a first-time contributor, please refer to the general [NATS Contributor Guide](https://nats.io/contributing/) to get
5
+
a comprehensive overview of contributing to the NATS project.
4
6
5
7
## Getting started
6
8
@@ -10,36 +12,69 @@ There are three general ways you can contribute to this repo:
10
12
- Reporting a bug or regression
11
13
- Contributing changes to the source code
12
14
13
-
For the first two, refer to the [GitHub Issues](https://github.com/nats-io/nats.go/issues/new/choose) which guides you through the available options along with the needed information to collect.
15
+
For the first two, refer to the [GitHub Issues](https://github.com/nats-io/nats.go/issues/new/choose) which guides you
16
+
through the available options along with the needed information to collect.
14
17
15
18
## Contributing changes
16
19
17
-
_Prior to opening a pull request, it is recommended to open an issue first to ensure the maintainers can review intended changes. Exceptions to this rule include fixing non-functional source such as code comments, documentation or other supporting files._
20
+
_Prior to opening a pull request, it is recommended to open an issue first to ensure the maintainers can review intended
21
+
changes. Exceptions to this rule include fixing non-functional source such as code comments, documentation or other
22
+
supporting files._
18
23
19
24
Proposing source code changes is done through GitHub's standard pull request workflow.
20
25
21
-
If your branch is a work-in-progress then please start by creating your pull requests as draft, by clicking the down-arrow next to the `Create pull request` button and instead selecting `Create draft pull request`.
26
+
If your branch is a work-in-progress then please start by creating your pull requests as draft, by clicking the
27
+
down-arrow next to the `Create pull request` button and instead selecting `Create draft pull request`.
22
28
23
-
This will defer the automatic process of requesting a review from the NATS team and significantly reduces noise until you are ready. Once you are happy, you can click the `Ready for review` button.
29
+
This will defer the automatic process of requesting a review from the NATS team and significantly reduces noise until
30
+
you are ready. Once you are happy, you can click the `Ready for review` button.
24
31
25
32
### Guidelines
26
33
27
34
A good pull request includes:
28
35
29
-
- A high-level description of the changes, including links to any issues that are related by adding comments like `Resolves #NNN` to your description. See [Linking a Pull Request to an Issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) for more information.
30
-
- An up-to-date parent commit. Please make sure you are pulling in the latest `main` branch and rebasing your work on top of it, i.e. `git rebase main`.
31
-
- Unit tests where appropriate. Bug fixes will benefit from the addition of regression tests. New features will not be accepted without suitable test coverage!
32
-
- No more commits than necessary. Sometimes having multiple commits is useful for telling a story or isolating changes from one another, but please squash down any unnecessary commits that may just be for clean-up, comments or small changes.
33
-
- No additional external dependencies that aren't absolutely essential. Please do everything you can to avoid pulling in additional libraries/dependencies into `go.mod` as we will be very critical of these.
36
+
- A high-level description of the changes, including links to any issues that are related by adding comments
37
+
like `Resolves #NNN` to your description.
38
+
See [Linking a Pull Request to an Issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
39
+
for more information.
40
+
- An up-to-date parent commit. Please make sure you are pulling in the latest `main` branch and rebasing your work on
41
+
top of it, i.e. `git rebase main`.
42
+
- Unit tests where appropriate. Bug fixes will benefit from the addition of regression tests. New features will not be
43
+
accepted without suitable test coverage!
44
+
- No more commits than necessary. Sometimes having multiple commits is useful for telling a story or isolating changes
45
+
from one another, but please squash down any unnecessary commits that may just be for clean-up, comments or small
46
+
changes.
47
+
- No additional external dependencies that aren't absolutely essential. Please do everything you can to avoid pulling in
48
+
additional libraries/dependencies into `go.mod` as we will be very critical of these.
34
49
35
50
### Sign-off
36
51
37
-
In order to accept a contribution, you will first need to certify that the contribution is your original work and that you license the work to the project under the [Apache-2.0 license](https://github.com/nats-io/nats.go/blob/main/LICENSE).
52
+
In order to accept a contribution, you will first need to certify that the contribution is your original work and that
53
+
you license the work to the project under
54
+
the [Apache-2.0 license](https://github.com/nats-io/nats.go/blob/main/LICENSE).
38
55
39
-
This is done by using `Signed-off-by` statements, which should appear in **both** your commit messages and your PR description. Please note that we can only accept sign-offs under a legal name. Nicknames and aliases are not permitted.
56
+
This is done by using `Signed-off-by` statements, which should appear in **both** your commit messages and your PR
57
+
description. Please note that we can only accept sign-offs under a legal name. Nicknames and aliases are not permitted.
40
58
41
59
To perform a sign-off with `git`, use `git commit -s` (or `--signoff`).
42
60
43
61
## Get help
44
62
45
-
If you have questions about the contribution process, please start a [GitHub discussion](https://github.com/nats-io/nats.go/discussions), join the [NATS Slack](https://slack.nats.io/), or send your question to the [NATS Google Group](https://groups.google.com/forum/#!forum/natsio).
63
+
If you have questions about the contribution process, please start
64
+
a [GitHub discussion](https://github.com/nats-io/nats.go/discussions), join the [NATS Slack](https://slack.nats.io/), or
65
+
send your question to the [NATS Google Group](https://groups.google.com/forum/#!forum/natsio).
66
+
67
+
## Testing
68
+
69
+
You should use `go_test.mod` to manage your testing dependencies. Please use the following command to update your
70
+
dependencies and avoid changing the main `go.mod` in a PR:
71
+
72
+
```shell
73
+
go mod tidy -modfile=go_test.mod
74
+
```
75
+
76
+
To the tests you can pass `-modfile=go_test.mod` flag to `go test` or instead you can also set `GOFLAGS="-modfile=go_test.mod"` as an environment variable:
0 commit comments