-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
developer-docs: add contributor guide (#406)
* docs: add a developer guide * contributing guide * docs: updating contributing section * fix url format Co-authored-by: Stephanie Brink <brink2@llnl.gov>
- Loading branch information
Showing
2 changed files
with
84 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
.. Copyright 2021 University of Maryland and other Hatchet Project Developers. | ||
See the top-level LICENSE file for details. | ||
SPDX-License-Identifier: MIT | ||
*************** | ||
Developer Guide | ||
*************** | ||
|
||
Contributing to Hatchet | ||
======================= | ||
|
||
If you want to contribute a new data reader, feature, or bugfix to Hatchet, | ||
please read below. This guide discusses the contributing workflow used in the | ||
Hatchet project, and the granularity of pull requests (PRs). | ||
|
||
Branches | ||
-------- | ||
The main branch in Hatchet that has the latest contributions is named | ||
``develop``. All pull requests should start from ``develop`` and target | ||
``develop``. | ||
|
||
There is a branch for each minor release series. Release branches originate | ||
from ``develop`` and have tags for each revision release in the series. | ||
|
||
Continuous Integration | ||
---------------------- | ||
|
||
Hatchet uses `GitHub Actions <https://docs.github.com/en/actions>`_ for | ||
Continuous Integration testing. This means that every time you submit a pull | ||
request, a series of tests are run to make sure you didn’t accidentally | ||
introduce any bugs into Hatchet. Your PR will not be accepted until it passes | ||
all of these tests. | ||
|
||
Currently, we perform 2 types of tests: | ||
|
||
Unit tests | ||
^^^^^^^^^^ | ||
|
||
Unit tests ensure that Hatchet's core API is working as expected. If you add a | ||
new data reader or new functionality to the Hatchet API, you should add unit | ||
tests that provide adequate coverage for your code. You should also check that | ||
your changes pass all unit tests. You can do this by typing: | ||
|
||
.. code-block:: console | ||
$ pytest | ||
Style tests | ||
^^^^^^^^^^^ | ||
|
||
Hatchet uses `Flake8 <https://flake8.pycqa.org/en/latest>`_ to test for `PEP 8 | ||
<https://www.python.org/dev/peps/pep-0008>`_ compliance. You can check for | ||
compliance using: | ||
|
||
.. code-block:: console | ||
$ flake8 | ||
Contributing Workflow | ||
--------------------- | ||
|
||
Hatchet is being actively developed, so the ``develop`` branch in Hatchet has | ||
new pull requests being merged often. The recommended way to contribute a pull | ||
request is to fork the Hatchet repo in your own space (if you already have a | ||
fork, make sure is it up-to-date), and then create a new branch off of | ||
``develop``. | ||
|
||
We prefer that commits pertaining to different components of Hatchet (specific | ||
readers, the core graphframe API, query language, vis tools, etc.) prefix the | ||
component name in the commit message (for example ``<component>: descriptive | ||
message``. | ||
|
||
GitHub provides a detailed `tutorial | ||
<https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests>`_ | ||
on creating pull requests. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters