Skip to content

Commit 695d679

Browse files
committed
Improve contributing docs
1 parent fdba8eb commit 695d679

File tree

2 files changed

+27
-20
lines changed

2 files changed

+27
-20
lines changed

docs/CONTRIBUTING.md

+25-18
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
## Issues
44

5-
Please be as descriptive as possible with your description.
5+
Please be as descriptive as possible.
66

7-
Reproducible examples are key to fixing bugs and strongly encouraged.
7+
Reproducible examples are key to finding and fixing bugs.
88

99
## Pull requests
1010

@@ -19,24 +19,31 @@ The commit message title should use the verb tense + phrase that completes the b
1919

2020
> This change modifies websocket to \_\_\_\_\_\_\_\_\_
2121
22-
Be sure to link to an existing issue if one exists. In general, create an issue
23-
before a PR to get some discussion going and to make sure you do not spend time
24-
on a PR that may be rejected.
22+
Be sure to [correctly link](https://help.github.com/en/articles/closing-issues-using-keywords)
23+
to an existing issue if one exists. In general, create an issue before a PR to get some
24+
discussion going and to make sure you do not spend time on a PR that may be rejected.
2525

26-
You can run tests normally with `go test`.
27-
You'll need the [Autobahn Test suite pip package](https://github.com/crossbario/autobahn-testsuite).
28-
In the future this dependency will be removed. See [#117](https://github.com/nhooyr/websocket/issues/117).
26+
CI must pass on your changes for them to be merged.
2927

30-
Please ensure CI passes for your changes. If necessary, you may run CI locally.
31-
The various steps are located in `ci/*.sh`.
28+
### CI
3229

33-
- `ci/fmt.sh` requires node (specifically prettier).
34-
- `ci/lint.sh` requires [shellcheck](https://github.com/koalaman/shellcheck#installing).
35-
- `ci/test.sh` requires the [Autobahn Test suite pip package](https://github.com/crossbario/autobahn-testsuite).
36-
- `ci/run.sh` runs everything in the above order and requires all of their dependencies.
30+
CI will ensure your code is formatted correctly, passes linting and tests.
31+
It will collect coverage and report it to [codecov](https://codecov.io/gh/nhooyr/websocket)
32+
and also upload a `out/coverage.html` artifact that you can click on to interactively
33+
browse coverage.
3734

38-
See [../ci/image/Dockerfile](../ci/image/Dockerfile) for the installation of the CI dependencies on Ubuntu.
35+
You can run CI locally. The various steps are located in `ci/*.sh`.
3936

40-
For CI coverage, you can use either [codecov](https://codecov.io/gh/nhooyr/websocket) or click the
41-
`coverage.html` artifact on the test step in CI.
42-
For coverage details locally, please see `ci/out/coverage.html` after running `ci/run.sh` or `ci/test.sh`.
37+
1. `ci/fmt.sh` requires node (specifically prettier).
38+
1. `ci/lint.sh` requires [shellcheck](https://github.com/koalaman/shellcheck#installing).
39+
1. `ci/test.sh` requires the [Autobahn Test suite pip package](https://github.com/crossbario/autobahn-testsuite).
40+
1. `ci/run.sh` runs the above scripts in order.
41+
42+
For coverage details locally, please see `ci/out/coverage.html` after running `ci/test.sh`.
43+
44+
See [ci/image/Dockerfile](ci/image/Dockerfile) for the installation of the CI dependencies on Ubuntu.
45+
46+
You can also run tests normally with `go test` once you have the
47+
[Autobahn Test suite pip package](https://github.com/crossbario/autobahn-testsuite)
48+
installed. `ci/test.sh` just passes a default set of flags to `go test` to collect coverage,
49+
enable the race detector, run benchmarks and also prettifies the output.

docs/ISSUE_TEMPLATE.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
<!-- Please read the contributing guidelines. -->
2-
<!-- https://github.com/nhooyr/websocket/blob/master/docs/CONTRIBUTING.md#issues -->
1+
<!-- Please be as descriptive as possible. -->
2+
<!-- Reproducible examples are key to finding and fixing bugs. -->

0 commit comments

Comments
 (0)