Development¶
Here we describe the development process overview. It’s in F.A.Q. format to make it simple.
How to file a ticket?¶
Just go to https://github.com/coddingtonbear/django-mailbox and create new one.
How do I get involved?¶
It’s simple! If you want to fix a bug, extend documentation or whatever you think is appropriate for the project and involves changes, just fork the project on github (https://github.com/coddingtonbear/django-mailbox), create a separate branch, hack on it, publish changes at your fork and create a pull request.
Why my issue/pull request was closed?¶
We usually put an explonation while we close issue or PR. It might be for various reasons, i.e. there were no reply for over a month after our last comment, there were no tests for the changes etc.
How to do a new release?¶
To enroll a new release you should perform the following task:
- Ensure the file
CHANGELOG.rst
reflects all important changes. - Ensure the file
CHANGELOG.rst
includes a new version identifier and current release date. - Execute
bumpversion patch
(or accordingly - see Semantic Versioning 2.0 ) to reflect changes in codebase. - Commit changes to the codebase, e.g.
git commit -m "Release 1.4.8" -a
. - Tag a new release, e.g.
git tag "1.4.8"
. - Push new tag to repo -
git push origin --tags
. - Push a new release to PyPI -
python setup.py sdist bdist_wheel upload
.
How to add support for a new Django version?¶
Changes are only necessary for new minor or major Django versions.
To add support for a new version perform the following task:
- Ensure that
tox.ini
file reflects support for new Django release. - Verify in tox that the code is executed correctly on all versions of the Python interpreter.
- Ensure that
.travis.yml
file reflects support for new Django release. Note the excluded versions of the Python interpreter. - Verify by pushing changes on a separate branch to see if the changes in TravisCI are correct.
- Proceed to the standard procedure for a new package release (see How to do a new release? ).
A spreadsheet with generator is available that can assist this process.