Contributing to Wagtailtrans¶
Thank you for considering contributing to Wagtailtrans.
We appreciate all kinds of support, whether it’s on bug reports, code, documentation, tests or feature requests.
Issues¶
Our Github issue tracker is the preferred channel for bug reports, feature requests and submitting pull requests. When creating new issues please provide as much relevant context as possible. Even your detailed comments on existing issues are a big help.
Pull request¶
You can contribute your code by creating a new pull request. If there are any open issues you think you can help with, you can discuss it on that specific issue and start working on it. If you have any idea for a new feature, please raise it as an issue. Once a core contributor has responded and is happy with your idea and the solution, you can start coding.
You should create your own fork of Wagtailtrans. We recommend you to create separate branches to keep all related changes within the same branch. Once you are done with your changes, you can submit a pull request for review.
Please keep in mind
- Any new feature must be documented.
- New features and bugfixes should have corresponding unit tests.
- If you’re not already on the list, add your name to
CONTRIBUTORS.md
.
Development¶
Wagtailtrans made it very easy to setup a runnable Django project to help with the development. It ships with a Sandbox application that can be availed for this purpose. You need to have some additional packages installed and a PostgreSQL Database on your local machine.
Get the codebase
Get a copy of the Wagtailtrans codebase. Create your own fork and make changes there. For a brief, take a look at this guideline.
Setup database
Copy
tests/_sandbox/settings/local_settings.sample
totests/_sandbox/settings/local_settings.py
if you would like to use different database settings then we use in our default Sandbox application. This way you can setup your own database settings for Django.Setup local development server
Activate your virtual environment.
Run following command :
$ make sandbox
This will install required packages and run the initial data migrations.
Run locally
$ ./manage.py runserver
Testing¶
We use pytest for unit testing. To execute the full testsuite, run:
$ make qt
or for a specific file:
$ py.test path/to/file
If you want to measure test coverage you can run:
$ make coverage
Wagtailtrans supports multiple environments which can be tested with tox
. It takes a bit longer to complete, but you can run it by a simple command: (Please make sure you have a setup with multiple versions of python, in order to run this command.)
$ tox