good morning!!!!

Skip to content
Snippets Groups Projects
CONTRIBUTING.md 1.81 KiB
Newer Older
Anmol Sethi's avatar
Anmol Sethi committed
# Contributing

## Issues

Please be as descriptive as possible with your description.

Reproducible examples are key to fixing bugs and strongly encouraged.

Anmol Sethi's avatar
Anmol Sethi committed
## Pull requests
Anmol Sethi's avatar
Anmol Sethi committed

Good issues for first time contributors are marked as such. Please feel free to
reach out for clarification on what needs to be done.

Split up large changes into several small descriptive commits.
Anmol Sethi's avatar
Anmol Sethi committed

Capitalize the first word in the commit message title.
Anmol Sethi's avatar
Anmol Sethi committed

The commit message title should use the verb tense + phrase that completes the blank in
Anmol Sethi's avatar
Anmol Sethi committed

> This change modifies websocket to \_\_\_\_\_\_\_\_\_
Anmol Sethi's avatar
Anmol Sethi committed

Be sure to link to an existing issue if one exists. In general, create an issue
before a PR to get some discussion going and to make sure you do not spend time
Anmol Sethi's avatar
Anmol Sethi committed
on a PR that may be rejected.

You can run tests normally with `go test`.
You'll need the [Autobahn Test suite pip package](https://github.com/crossbario/autobahn-testsuite).
Anmol Sethi's avatar
Anmol Sethi committed
In the future this dependency will be removed. See [#117](https://github.com/nhooyr/websocket/issues/117).
Anmol Sethi's avatar
Anmol Sethi committed

Please ensure CI passes for your changes. If necessary, you may run CI locally.
The various steps are located in `ci/*.sh`.
- `ci/fmt.sh` requires node (specifically prettier).
- `ci/lint.sh` requires [shellcheck](https://github.com/koalaman/shellcheck#installing).
- `ci/test.sh` requires the [Autobahn Test suite pip package](https://github.com/crossbario/autobahn-testsuite).
- `ci/run.sh` runs everything in the above order and requires all of their dependencies.
See [../ci/image/Dockerfile](../ci/image/Dockerfile) for the installation of the CI dependencies on Ubuntu.
Anmol Sethi's avatar
Anmol Sethi committed
For CI coverage, you can use either [codecov](https://codecov.io/gh/nhooyr/websocket) or click the
`coverage.html` artifact on the test step in CI.
For coverage details locally, please see `ci/out/coverage.html` after running `ci/run.sh` or `ci/test.sh`.