Contributing to Waffle¶
Waffle is pretty simple to hack, and has a decent test suite! Here’s how to patch Waffle, add tests, run them, and contribute changes.
Setting up an environment is easy! You’ll want
pip, then just create a new virtual environment and install the
$ mkvirtualenv waffle $ pip install -r requirements.txt
Fork Waffle and create a new branch off master for your patch. Run the tests often:
$ ./run.sh test
Try to keep each branch to a single feature or bugfix.
To update branches, please rebase onto master, do not merge master into your branch.
Open a pull request on GitHub!
Before a pull request gets merged, it should be rebased onto master and squashed into a minimal set of commits. Each commit should include the necessary code, test, and documentation changes for a single “piece” of functionality.
To be mergable, patches must:
- be rebased onto the latest master,
- be automatically mergeable,
- not break existing tests (TravisCI will run them, too),
- not change existing tests without a very good reason,
- add tests for new code (bug fixes should include regression tests, new features should have relevant tests),
- not introduce any new flake8 errors (run
- document any new features, and
- have a good commit message.
Regressions tests should fail without the rest of the patch and pass with it.