@@ -22,20 +22,32 @@ When releasing a new version, the following steps should be taken:
22
22
If this will produce warning or errors, PyPI will be unable to render
23
23
the long description nicely. It will treat it as plain text instead.
24
24
25
- 4. Update the version in the VERSION _ file and commit the change.
25
+ 4. Update the version in the VERSION _ file and report the changes in
26
+ CHANGELOG.rst _ and commit the changes.::
27
+
28
+ git commit -v -s -m "Release version X.Y.Z"
26
29
27
30
5. Create a release tag _::
28
31
29
- git tag -a vX.Y.Z -m "Release of version X.Y.Z"
32
+ git tag -a -s vX.Y.Z -m "Version X.Y.Z"
30
33
31
34
6. Push these changes to Github::
32
35
33
- git push origin vX.Y.Z
36
+ git push --follow-tags origin vX.Y.Z
37
+
38
+ 7. Create a source and wheel distribution and upload it to PyPI::
39
+
40
+ # generate a source and wheel distribution at once
41
+ python setup.py sdist bdist_wheel
42
+
43
+ # generated files are under dist/
44
+ ls dist/
34
45
35
- 7. Create a source distribution and upload it to PyPI using the following
36
- command::
46
+ # upload release on test.pypi.org
47
+ twine upload --repository-url https://test.pypi.org/legacy/ dist/pysaml2-X.Y.Z*
37
48
38
- python setup.py register sdist upload
49
+ # then, upload release on official pypi.org
50
+ twine upload dist/pysaml2-X.Y.Z*
39
51
40
52
8. Upload the documentation to PyPI. First you need to generate the html
41
53
version of the documentation::
@@ -60,6 +72,8 @@ immediately by a new, improved release.
60
72
This document is based on zope release-software _ guidelines.
61
73
62
74
75
+ .. _VERSION : https://github.com/IdentityPython/pysaml2/blob/master/VERSION
76
+ .. _CHANGELOG.rst : https://github.com/IdentityPython/pysaml2/blob/master/CHANGELOG.rst
63
77
.. _docutils : http://docutils.sourceforge.net/
64
78
.. _tag : https://git-scm.com/book/en/v2/Git-Basics-Tagging#_annotated_tags
65
79
.. _release-software : https://zopetoolkit.readthedocs.io/en/latest/process/releasing-software.html
0 commit comments