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
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+36-16Lines changed: 36 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,12 @@
2
2
3
3
Successfully collaborating on common problems is always an edifying experience that increases the desire to do more.
4
4
5
+
## Development Environment
6
+
7
+
Short of having a poetry environment of your own, you can make use of github's codespaces.
8
+
9
+
Refer to the [README - Getting Started](../README.md#geting-started) for details.
10
+
5
11
## Pull Requests
6
12
7
13
### Before Submitting
@@ -19,36 +25,51 @@ Some recommendations to help align your contribution and minimise the eventual b
19
25
If it is a feature or bugfix that you'd like to see backported to one of the release branches, open a parallel PR for that
20
26
release branch or mention that you'd like to see it backported in the original PR's description.
21
27
22
-
### Coding
23
-
24
-
Running `. ./venv.bash` in the root of the repository can create a nice, self-contained sandbox within which you can develop and test your contribution.
25
-
26
28
### The Pull Request
27
29
28
30
Be sure to state clearly in the pull request's **description** (this helps expedite review):
29
31
30
32
* The motivation, i.e. what problem is this solving.
31
33
* A concise summary of what was done (and why if relevant).
32
34
33
-
### Style
35
+
### Format, Lint, Type-Check and Test
36
+
37
+
The repository aims to conform to PEP8, please endeavour to do so. CI will get cranky if you don't ;)
38
+
39
+
Test against at least one of `py38`, `py310`.
40
+
41
+
```
42
+
# Auto-format your code (if using VSCode, install the ufmt extension)
43
+
$ poetry run tox -e format
34
44
35
-
The repository aims to conform to PEP8, please endeavour to do so. There is a simple script `./lint/flake8` that can be used to check that the
36
-
code conforms. This is run as part of the CI checks.
45
+
# Style, Format
46
+
$ poetry run tox -e check
37
47
38
-
### Tests
48
+
# Type-Check
49
+
$ poetry run mypy38
39
50
40
-
See [tests/README.md](tests/README.md) for instructions on how to run the tests all together or manually. If you are contributing new features, or
41
-
bugfixing a problem that did not have coverage, it is expected that the pull requests will include a test for regression purposes.
51
+
# Tests
52
+
$ poetry run tox -e py38
53
+
```
42
54
43
55
### Documentation
44
56
45
57
Documentation is auto-generated as part of the PR process, but if you do wish to make changes and check locally:
46
58
59
+
Generate the docs, view them from `./docs/html` in a browser.
60
+
61
+
```
62
+
# Install dependencies
63
+
$ poetry install --with docs
64
+
65
+
# Build
66
+
$ poetry run make -C docs html
67
+
```
68
+
69
+
On doc dependency changes in `pyproject.toml`, export the requirements for ReadTheDocs.
@@ -68,8 +89,7 @@ Once the large button has gone `GREEN`, you or the reviewer may merge the pull r
68
89
69
90
## Releasing
70
91
71
-
If you are interested in seeing your changes make it into a release (sooner rather than later) and distributed on
72
-
PyPi, PPA or via the ROS ecosystem, please make the request via a comment in your PR or in an issue.
92
+
If you are interested in seeing your changes make it into a release (sooner rather than later), please make the request via a comment in your PR or in an issue.
0 commit comments