good morning!!!!

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

## Issues

Please be as descriptive as possible with your description.

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

Please split up changes into several small descriptive commits.

Please 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, try creating an issue
before making a PR to get some discussion going and to make sure you do not spend time
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`.
Anmol Sethi's avatar
Anmol Sethi committed
`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`.