aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorJeremy Bowman <jbowman@edx.org>2018-05-17 14:18:03 -0400
committerJeremy Bowman <jbowman@edx.org>2018-05-17 14:23:53 -0400
commit37978a703cf4d306a3e0426d9dabfa1fb04e36d1 (patch)
tree6340ee753133ab5ef3e0a972a504c6aaa9471f58 /docs
parent50e3ba6e94a655dec916c9f9fe28b7434622547f (diff)
downloadexternal_python_setuptools-37978a703cf4d306a3e0426d9dabfa1fb04e36d1.tar.gz
external_python_setuptools-37978a703cf4d306a3e0426d9dabfa1fb04e36d1.tar.bz2
external_python_setuptools-37978a703cf4d306a3e0426d9dabfa1fb04e36d1.zip
Update release process docs
Diffstat (limited to 'docs')
-rw-r--r--docs/releases.txt37
1 files changed, 24 insertions, 13 deletions
diff --git a/docs/releases.txt b/docs/releases.txt
index 30ea084f..234f69ee 100644
--- a/docs/releases.txt
+++ b/docs/releases.txt
@@ -7,20 +7,31 @@ mechanical technique for releases, enacted by Travis following a
successful build of a tagged release per
`PyPI deployment <https://docs.travis-ci.com/user/deployment/pypi>`_.
-Prior to cutting a release, please check that the CHANGES.rst reflects
-the summary of changes since the last release.
-Ideally, these changelog entries would have been added
-along with the changes, but it's always good to check.
-Think about it from the
-perspective of a user not involved with the development--what would
-that person want to know about what has changed--or from the
-perspective of your future self wanting to know when a particular
-change landed.
-
-To cut a release, install and run ``bump2version {part}`` where ``part``
+Prior to cutting a release, please use `towncrier`_ to update
+``CHANGES.rst`` to summarize the changes since the last release.
+To update the changelog:
+
+1. Install towncrier via ``pip install towncrier`` if not already installed.
+2. Preview the new ``CHANGES.rst`` entry by running
+ ``towncrier --draft --version {new.version.number}`` (enter the desired
+ version number for the next release). If any changes are needed, make
+ them and generate a new preview until the output is acceptable. Run
+ ``git add`` for any modified files.
+3. Run ``towncrier --version {new.version.number}`` to stage the changelog
+ updates in git.
+
+Once the changelog edits are staged and ready to commit, cut a release by
+installing and running ``bump2version {part}`` where ``part``
is major, minor, or patch based on the scope of the changes in the
-release. Then, push the commits to the master branch. If tests pass,
-the release will be uploaded to PyPI (from the Python 3.6 tests).
+release. Then, push the commits to the master branch::
+
+ $ git push origin master
+ $ git push --tags
+
+If tests pass, the release will be uploaded to PyPI (from the Python 3.6
+tests).
+
+.. _towncrier: https://pypi.org/project/towncrier/
Release Frequency
-----------------