Contributing¶
Welcome to the Merlin developer documentation! This section provides instructions for contributing to Merlin.
Getting Started¶
Follow the Getting Started documentation to setup your Merlin development environment.
Once your development is setup create a branch:
$ git checkout -b feature/<username>/description
Note
Other common types of branches besides feature are: bugfix,
hotfix, or refactor.
Select the branch type that best represents the development.
Merlin follows a gitflow workflow. Updates to the develop branch are made via pull requests.
Developer Guide¶
This section provides Merlin’s guide for contributing features/bugfixes to Merlin.
Pull Request Checklist¶
Warning
All pull requests must pass make tests prior to consideration!
To expedite review, please ensure that pull requests
Are from a meaningful branch name (e.g.
feature/my_name/cool_thing)Are being merged into the appropriate branch
Include testing for any new features
unit tests in
tests/unitintegration tests in
tests/integration
Include descriptions of the changes
a summary in the pull request
details in
CHANGELOG.md
Ran
make fix-styleto adhere to style guidelinesPass
make tests; output included in pull requestIncrement version number appropriately
in
CHANGELOG.mdin
merlin.__init__.py
Have squashed commits
Testing¶
All pull requests must pass unit and integration tests. To ensure that they do run
$ make tests
Python Code Style Guide¶
This section documents Merlin’s style guide. Unless otherwise specified, PEP-8 is the preferred coding style and PEP-0257 for docstrings.
Note
make fix-style will automatically fix any style issues.
Merlin has style checkers configured. They can be run from the Makefile:
$ make check-style