Skip to content

Commit abb66c7

Browse files
committed
Added linting in developer guides
1 parent 3d91280 commit abb66c7

1 file changed

Lines changed: 58 additions & 18 deletions

File tree

docs/source/contributing/development.rst

Lines changed: 58 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@
33
Development Guides
44
==================
55

6-
Here are a set of detailed guides depending on if you are a public user,
7-
Stanford NAV Lab member, or a project maintainer.
6+
Here are a set of detailed guides depending on if you are a :ref:`public user<standard_dev>`,
7+
:ref:`Stanford NAV Lab member<navlab_dev>`, or a project maintainer
8+
:ref:`reviewing pull requests<pr_review>` or
9+
:ref:`creating new release branches<release_workflow>`.
810

11+
.. _standard_dev:
912

1013
Standard GitHub Workflow
1114
------------------------
@@ -44,17 +47,15 @@ Standard GitHub Workflow
4447
6. Add tests for the newly added code and ensure the new code is covered.
4548
See the :ref:`Testing<testing>` section for more details.
4649

47-
7. Add your name to the `contributors list <https://github.com/Stanford-NavLab/gnss_lib_py/blob/main/CONTRIBUTORS.sh>`__.
48-
49-
8. When you're done making changes run all the tests with:
50+
7. When you're done making changes run all the tests with:
5051

5152
.. code-block:: bash
5253
5354
poetry run pytest
5455
5556
Make sure that all tests are passing.
5657

57-
9. Verify that testing coverage has not decreased:
58+
8. Verify that testing coverage has not decreased:
5859

5960
.. code-block:: bash
6061
@@ -63,19 +64,34 @@ Standard GitHub Workflow
6364
6465
See the :ref:`Coverage Report<coverage>` section for more details.
6566

67+
9. Improve code readability by linting it. Run :code:`pylint` to preview
68+
issues with the code:
69+
70+
.. code-block:: bash
71+
72+
poetry run python -m pylint path-to-file-to-lint
73+
74+
Resolve issues that do not impact how you have implemented your functionality,
75+
such as conforming to snake case naming, removing TODOs and using suggested
76+
defaults.
77+
6678
10. Ensure that system and IDE dependent files, like those in :code:`.idea`
6779
folders for PyCharm and :code:`.vscode` folders for VS Code are not
6880
committed by updating the :code:`.gitignore` file.
6981

70-
11. Commit your changes and publish your branch to GitHub:
82+
11. Add your name to the `contributors list <https://github.com/Stanford-NavLab/gnss_lib_py/blob/main/CONTRIBUTORS.sh>`__.
83+
84+
12. Commit your changes and publish your branch to GitHub:
7185

7286
.. code-block:: bash
7387
7488
git add -A
7589
git commit -m "<describe changes in this commit>"
7690
git push origin your-name/name-of-your-bugfix-or-feature
7791
78-
12. Submit a pull request through GitHub.
92+
13. Submit a pull request through GitHub.
93+
94+
.. _navlab_dev:
7995

8096
NAVLab GitHub Workflow
8197
----------------------
@@ -126,11 +142,22 @@ NAVLab GitHub Workflow
126142
folders for PyCharm and :code:`.vscode` folders for VS Code are not
127143
committed by updating the :code:`.gitignore` file.
128144

129-
9. When you're ready to commit changes follow the steps below to
130-
minimize unnecessary merging. This is especially important if
131-
multiple people are working on the same branch. If you pull new
132-
changes, then repeat the tests above to double check that everything
133-
is still working as expected.
145+
9. Improve code readability by linting it. Run :code:`pylint` to preview
146+
issues with the code:
147+
148+
.. code-block:: bash
149+
150+
poetry run python -m pylint path-to-file-to-lint
151+
152+
Resolve issues that do not impact how you have implemented your functionality,
153+
such as conforming to snake case naming, removing TODOs and using suggested
154+
defaults.
155+
156+
10. When you're ready to commit changes follow the steps below to
157+
minimize unnecessary merging. This is especially important if
158+
multiple people are working on the same branch. If you pull new
159+
changes, then repeat the tests above to double check that everything
160+
is still working as expected.
134161

135162
.. code-block:: bash
136163
@@ -141,11 +168,16 @@ NAVLab GitHub Workflow
141168
git commit -m "<describe changes in this commit>"
142169
git push origin your-name/name-of-your-bugfix-or-feature
143170
144-
10. Submit a pull request through the GitHub website. In the pull request,
171+
11. Submit a pull request through the GitHub website. For the base branch
172+
in the pull request, select the latest version release branch :code:`vx.Y.Z`
173+
(with the highest number of all such branches). *Do not target the*
174+
:code:`main` *branch in your pull request.* In the pull request,
145175
add a code review request for the current maintainers of the repository,
146-
Ashwin Kanhere, Derek Knowles or Sriramya Bhamidipati. The reviewers
176+
Ashwin Kanhere or Derek Knowles. The reviewers
147177
might add comments to ensure compliance with the rest of the code.
148178

179+
.. _pr_review:
180+
149181
Pull Request Review Workflow
150182
----------------------------
151183

@@ -203,16 +235,24 @@ Pull Request Review Workflow
203235
204236
See the :ref:`Coverage Report<coverage>` section for more details.
205237

206-
7. Submit your approval or any comments on GitHub.
238+
7. Verify that the Pull Request targets the latest version release branch,
239+
called :code:`vX.Y.Z`. If it doesn't target this branch, change the base
240+
branch to the latest version release branch. If this branch
241+
doesn't exist, create the latest version release branch from :code:`main`
242+
before changing the base.
243+
244+
8. Submit your approval or any comments on GitHub.
245+
246+
.. _release_workflow:
207247

208248
New Package Release Workflow
209249
----------------------------
210250

211-
1. Create new branch for the release:
251+
1. Switch to the latest version release branch (with the highest number):
212252

213253
.. code-block:: bash
214254
215-
git checkout -b your-name/release-X.Y.Z
255+
git checkout -b vX.Y.Z
216256
217257
2. Open the ``pyproject.toml`` file and under the ``[tool.poetry]``
218258
group change the ``version = X.Y.Z`` variable to match the new

0 commit comments

Comments
 (0)