Skip to content

Commit a04478f

Browse files
yordiswallyqs
andauthored
chore: add testing section and format contributing file (nats-io#1574)
* Add testing section to CONTRIBUTING.md --------- Co-authored-by: Waldemar Quevedo <[email protected]>
1 parent 5b7ba3d commit a04478f

File tree

1 file changed

+48
-13
lines changed

1 file changed

+48
-13
lines changed

CONTRIBUTING.md

Lines changed: 48 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Contributing
22

3-
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.
46

57
## Getting started
68

@@ -10,36 +12,69 @@ There are three general ways you can contribute to this repo:
1012
- Reporting a bug or regression
1113
- Contributing changes to the source code
1214

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.
1417

1518
## Contributing changes
1619

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._
1823

1924
Proposing source code changes is done through GitHub's standard pull request workflow.
2025

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`.
2228

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.
2431

2532
### Guidelines
2633

2734
A good pull request includes:
2835

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.
3449

3550
### Sign-off
3651

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).
3855

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.
4058

4159
To perform a sign-off with `git`, use `git commit -s` (or `--signoff`).
4260

4361
## Get help
4462

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:
77+
78+
```shell
79+
go test ./... -modfile=go_test.mod
80+
```

0 commit comments

Comments
 (0)