From 9f492b2501fad27897bae0659e0ba54b58affd1a Mon Sep 17 00:00:00 2001 From: Adam Dobrawy Date: Wed, 3 Jan 2018 00:46:59 +0100 Subject: [PATCH] Add 'Development' section in docs --- docs/index.rst | 1 + docs/topics/development.rst | 59 +++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 docs/topics/development.rst diff --git a/docs/index.rst b/docs/index.rst index f2fb0b9..8705c9a 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -27,6 +27,7 @@ Contents: topics/mailbox_types topics/polling topics/signal + topics/development topics/appendix diff --git a/docs/topics/development.rst b/docs/topics/development.rst new file mode 100644 index 0000000..69508fa --- /dev/null +++ b/docs/topics/development.rst @@ -0,0 +1,59 @@ +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 at 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 file ``CHANGELOG.rst`` reflects all important changes. +* Ensure file ``CHANGELOG.rst`` includes a new version identifier and current release date. +* Execute ``bumpversion patch`` (or accordinly - see `Semantic Versioning 2.0 `_ ) to reflects changes in codebase. +* Commit changes of 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 new Django version? +------------------------------------------ + +Changes are only necessary for new minor or major Django versions. + +To add support for new version perform the following task: + +* Ensure ``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 ``.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 of the new package release (see `How to do a new release?`_ ). + +A `spreadsheet is available `_ that can assist this process.