@@ -38,19 +38,19 @@ should be incremented prior to new releases with the following designation:
3838Releases
3939========
4040
41- Releases should be done with `git tags <https://git-scm.com/docs/git-tag >`_ from the master branch
42- and then pushed to GitHub.
43- Annotated tags should be used and can be created with::
41+ Following a release, the following actions should be performed:
4442
45- git tag -a <version>
46- git tag -s <version>
47- git tag -m <msg> <version>
43+ 1. Archived and installable python files should be created
44+ 2. Archived and installable python files should be uploaded to the
45+ python package index, :term: `PyPI `
46+ 3. The tag should be pushed to GitHub and marked as a release, including information
47+ on the changes introduced in this release
4848
49- Pushing these tags to GitHub creates a new
50- ` release < https://github.com/CORE-GATECH-GROUP/serpent-tools/releases >`_ .
51- If a message is used, the messages should be a brief message describing the changes on this tag.
52- On the release page, a more detail list of changes, such as pull requests and issues closed,
53- should be listed.
49+ This section details changes and procedures that, if followed, will increase chances
50+ of a painless release .
51+
52+ Updating the package version
53+ ----------------------------
5454
5555Before and after a release, the project version number should be updated in the
5656following places:
@@ -59,13 +59,52 @@ following places:
59592. ``serpentTools/__init__.py ``
60603. ``docs/conf.py ``
6161
62- Following a release, the following actions should be performed:
62+ The new version should be indicative of the changes introduced between this release
63+ and the previous release.
6364
64- 1. Archived and installable python files should be created
65- 2. Archived and installable python files should be uploaded to the
66- `python package index <https://pypi.python.org/pypi >`_
67- 3. The tag should be pushed to GitHub and marked as a release, including information
68- on the changes introduced in this release
65+ Generating distributions
66+ ------------------------
67+
68+ The new distribution, that can be uploaded to :term: `PyPI `, can be
69+ generated with
70+
71+ .. code :: sh
72+
73+ python setup.py sdist bdist_wheel
74+
75+ This will produce a source distribution and binary python wheel in the ``dist ``
76+ directory, each of the form ``dist/serpentTools-<version>.<extension> ``.
77+ Before tagging and pushing releases to :term: `PyPI `, the distribution should be
78+ checked with
79+
80+ .. code :: sh
81+
82+ twine check dist/serpentTools-< version> *
83+
84+ :term: `twine ` will check that the package is compatible with the standards set
85+ by :term: `PyPI ` prior to uploading. Following a successful check, the distribution
86+ can be pushed to the package index using
87+
88+ ..code:: sh
89+
90+ twine upload dist/serpentTools-<version>*
91+
92+ Tagging
93+ -------
94+
95+ Releases should be done with `git tags <https://git-scm.com/docs/git-tag >`_ from the master branch
96+ and then pushed to GitHub.
97+ Annotated tags should be used and can be created with
98+
99+ .. code :: sh
100+
101+ git tag -s < version>
102+
103+ Pushing these tags to GitHub creates a new
104+ `release <https://github.com/CORE-GATECH-GROUP/serpent-tools/releases >`_.
105+ If a message is used, the messages should be a brief message describing the changes on this tag.
106+ On the release page, a more detail list of changes, such as pull requests and issues closed,
107+ should be listed.
69108
70109.. _dev-commitMessages :
71110
0 commit comments