comparison RELEASE.txt @ 6378:b57c3d50505b

issue2550899 Migrate setup.py to setuptools Also fixes issue2550866 'pip install --editable .' fails Installing roundup requires setuptools package which is available in most OS distrobutions or via pip. Patch by John Kristensen (jerrykan); additional doc changes (upgrade.txt, RELEASE.txt) John Rouillard.
author John Rouillard <rouilj@ieee.org>
date Sat, 17 Apr 2021 16:41:23 -0400
parents a635a60ffb84
children 843a88670707
comparison
equal deleted inserted replaced
6377:a7e7314fb7d9 6378:b57c3d50505b
45 7. Remove previous build files 45 7. Remove previous build files
46 python setup.py clean --all 46 python setup.py clean --all
47 rm -rf build/share # deletes locale .mo files 47 rm -rf build/share # deletes locale .mo files
48 Rebuild and install .mo files 48 Rebuild and install .mo files
49 python setup.py build (sdist generation will fail if this isn't done) 49 python setup.py build (sdist generation will fail if this isn't done)
50 8. Rebuild documentation in "share/doc/roundup/html" 50 8. Check documentation:
51 python setup.py check --restructuredtext --metadata --strict
52 Rebuild documentation in "share/doc/roundup/html"
51 python setup.py build_doc 53 python setup.py build_doc
52 9. python setup.py sdist --manifest-only 54 9. python setup.py sdist
53 (ignore the 'warning: no previously-included ...' lines) 55 (if you find sdist a little verbose, add "--quiet" to the end of the
54 10. Check the MANIFEST to make sure that any new files are included. 56 command)
55 (use hg status --rev <last release or tag>:tip to list changed 57 9a. 2021/04/17 skip this for now. Need to make sure that whl installs
56 added and removed files. Last release e.g. 1.5.1 where tip was 58 execuable scripts properly and update these directions to test.
57 what would become 1.6) E.G. 59
60 python2 setup.py bdist_wheel; python3 setup.py bdist_wheel
61
62 to create binary distributions in wheel format. (egg format is
63 deprecated.)
64 10. Check the roundup.egg-info/SOURCES.txt to make sure that any new files are
65 included. (use hg status --rev <last release or tag>:tip to list changed
66 added and removed files. Last release e.g. 1.5.1 where tip was what would
67 become 1.6) E.G.
58 68
59 hg status --rev 1.6.0:tip | sed -ne 's/^A //p' | while read i ; \ 69 hg status --rev 1.6.0:tip | sed -ne 's/^A //p' | while read i ; \
60 do echo $i; grep "$i" MANIFEST; done | uniq -c 70 do echo $i; grep "$i" roundup.egg-info/SOURCES.txt; done | uniq -c
61 71
62 Anything with a count of 1 is not in the manifest. 72 Anything with a count of 1 is not in the manifest.
63 If there are missing files that should be in the manifest, 73 If there are missing files that should be in the manifest,
64 edit MANIFEST.in to include them. For format docs see 74 edit MANIFEST.in to include them. For format docs see
65 http://docs.python.org/2/distutils/sourcedist.html#manifest-template 75 https://packaging.python.org/guides/using-manifest-in/#using-manifest-in
66 (Notes files for the website and issue tracker shouldn't be in the 76 (Note: files under website/ shouldn't be in the manifest.)
67 manifest.) 77 11. Unpack the new tarball created in dist/roundup-<version>.tar.gz
68 11. python setup.py sdist
69 (if you find sdist a little verbose, add "--quiet" to the end of the
70 command)
71 12. Unpack the new tarball created in dist/roundup-<version>.tar.gz
72 file in /tmp then 78 file in /tmp then
73 a) run tests using installed pytest run under python2 and 79 a) run tests using installed pytest run under python2 and
74 python3. (python2 -m pytest test/; python3 -m pytest test/) 80 python3. (python2 -m pytest test/; python3 -m pytest test/)
75 b) demo.py 81 b) demo.py
76 with all available Python versions. 82 with all available Python versions.
77 13. Assuming all is well tag the release in the version-control 83 11a. (TBD how to test wheel binary distribution before uploading.)
84 12. Assuming all is well tag the release in the version-control
78 system. 85 system.
79 a) hg tag 1.6.0 # use right version. Should create/commit a changeset 86 a) hg tag 1.6.0 # use right version. Should create/commit a changeset
80 b) hg push # update main repo 87 b) hg push # update main repo
81 c) hg sum # verify that the tag shows up 88 c) hg sum # verify that the tag shows up
82 14. Upload source distribution to PyPI - requires you sign up for a 89 13. Upload source distribution to PyPI - requires you sign up for a
83 pypi account and be added as a maintainer to roundup. Ask existing 90 pypi account and be added as a maintainer to roundup. Ask existing
84 maintainer for access. 91 maintainer for access. You can do this two ways:
92
85 python setup.py sdist upload --repository pypi --sign 93 python setup.py sdist upload --repository pypi --sign
86 It should appear on http://pypi.python.org/pypi/roundup in no 94
87 time. If you are using python older than 2.7.13 you need a 95 which rebuilds the source distribution tarball and uploads it.
88 .pypirc shown below. URL has changed. If using 2.7.13 or newer, 96 This means that you have uploaded something tha is not tested. It
89 you can remove the "--repository pypi" option. 97 should be the same as the tarball you tested but....
90 15. Send doc/announcement.txt to python-announce@python.org and 98
99 Another way to do this is to use twine (pip install twine).
100 You need to sign the tarball. This can be done with:
101
102 gpg --detach-sign --armor <filename>.tgz
103
104 you should be prompted to use the roundup release key. If not you
105 can add --local=roundup-devel@lists.sourceforge.net.
106 This will create a file by the name <filename>.tgz.asc. Then
107 use twine to upload *both* the asc and distibution tarball
108 at the same time. E.G.:x
109
110 twine upload --repository pypi <filename>.tar.gz <filename>.tar.gz.asc
111
112 (If you upload the .asc file separately from the distibution file
113 it gets a different path and is not able to be located in the pypi
114 interface. The asc file is downloaded using the tarball path and
115 add `asc'.)
116
117 The distribution file should appear on
118 https://pypi.python.org/pypi/roundup in no time. If you are using
119 python older than 2.7.13 you need a .pypirc shown below since the
120 URL has changed. If using 2.7.13 or newer, you can remove the
121 "--repository pypi" option and use 'setup.py sdist upload...'.
122
123 You can also use twine to upload the .whl (wheel) format
124 distributions (if created). Follow the directions for generating
125 the gpg asc files and upload the .whl distribution and .whl.asc
126 signature files together.
127 14. Send doc/announcement.txt to python-announce@python.org and
91 roundup-users@lists.sourceforge.net and 128 roundup-users@lists.sourceforge.net and
92 roundup-devel@lists.sourceforge.net 129 roundup-devel@lists.sourceforge.net
93 15b. Update entry on https://freshcode.club/projects/roundup-tracker 130 14b. Update entry on https://freshcode.club/projects/roundup-tracker
94 15c. Update entries for fossies by emailing announcement to 131 14c. Update entries for fossies by emailing announcement to
95 announce@fossies.org 132 announce@fossies.org
96 16. Refresh website. 133 15. Refresh website.
97 website/README.txt 134 website/README.txt
98 https://www.roundup-tracker.org/ should state that the stable 135 https://www.roundup-tracker.org/ should state that the stable
99 version is the one that you released. 136 version is the one that you released.
100 https://www.roundup-tracker.org/docs.html should also match the 137 https://www.roundup-tracker.org/docs.html should also match the
101 released version (or at least the major non pre-release 138 released version (or at least the major non pre-release
111 python setup.py check --restructuredtext --metadata --strict 148 python setup.py check --restructuredtext --metadata --strict
112 python setup.py build_doc 149 python setup.py build_doc
113 cd locale 150 cd locale
114 make 151 make
115 cd .. 152 cd ..
116 python setup.py sdist --manifest-only
117 python setup.py sdist --quiet 153 python setup.py sdist --quiet
118 ## python setup.py bdist_rpm 154 ## python setup.py bdist_rpm
119 # not required for pypi.org since 2017 -> python setup.py register 155 # not required for pypi.org since 2017 -> python setup.py register
120 python setup.py sdist upload --repository pypi --sign 156 python setup.py sdist upload --repository pypi --sign
121 157

Roundup Issue Tracker: http://roundup-tracker.org/