@@ -33,8 +33,10 @@ Roundup release checklist:
3333 CHANGES.txt (set date for version as well)
3434 roundup/__init__.py
3535 website/www/index.txt (current stable version, release highlights)
36- website/www/conf.py (update copyright, version from __init__.py)
37- scripts/Docker/Docker update value of org.opencontainers.image.version
36+ website/www/conf.py (update copyright, version auto-set from
37+ roundup/__init__.py)
38+ scripts/Docker/Dockerfile update value of
39+ org.opencontainers.image.version
38403a. Update license end date in COPYING.txt
39413b. Update doc/acknowledgements.txt (add section for
4042 release, churn contributers etc.). (Use hg churn -c -r ####..####)
@@ -101,7 +103,7 @@ Roundup release checklist:
101103 added and removed files. Last release e.g. 1.5.1 where tip is what would
102104 become 1.6) E.G.
103105
104- hg status --rev 2.0 .0:tip | sed -ne 's/^A //p' | while read i ; \
106+ hg status --rev 2.2 .0:tip | sed -ne 's/^A //p' | while read i ; \
105107 do echo $i; grep "$i" roundup.egg-info/SOURCES.txt; done | \
106108 uniq -c | sort -rn
107109
@@ -112,7 +114,7 @@ Roundup release checklist:
112114 (Note: files under website/ shouldn't be in the manifest.)
11311510a: Check for removed files still in manifest:
114116
115- hg status --rev 2.0 .0:tip | sed -ne 's/^R //p' | while read i ; \
117+ hg status --rev 2.2 .0:tip | sed -ne 's/^R //p' | while read i ; \
116118 do echo $i; grep "$i" roundup.egg-info/SOURCES.txt; done | \
117119 uniq -c | sort -n
118120
@@ -128,6 +130,26 @@ Roundup release checklist:
128130 with all available Python versions.
12913111a. (TBD how to test wheel binary distribution before uploading.)
130132
133+ 11b. Generate GPG signature file
134+
135+ cd dist
136+ gpg --detach-sign --armor -u 1F2DD0CB756A76D8 <filename>.tar.gz
137+
138+ you should be prompted to use the roundup release key. If not you
139+ 140+ This will create a file by the name <filename>.tar.gz.asc.
141+
142+ Move file to website/www/signature directory
143+
144+ mv <filename>.tar.gz.asc ../webite/www/signatures/.
145+ hg add ../website/www/signature/<filename>.tar.gz.asc
146+ # commiting the file will be done in step 12
147+ cd ..
148+
149+ Add a link to the signature to doc/security.txt. Add a new link
150+ to the start of the signature list in doc/security.txt (look for
151+ the word multicol).
152+
13115312. Assuming all is well commit and tag the release in the version-control
132154 system.
133155 a) hg commit ... # commit any edits from steps 1-5
@@ -137,32 +159,11 @@ Roundup release checklist:
137159
13816013. Upload source distribution to PyPI - requires you sign up for a
139161 pypi account and be added as a maintainer to roundup. Ask existing
140- maintainer for access. You can do this two ways:
141-
142- python3 setup.py sdist upload --repository pypi
162+ maintainer for access. Do this using twine (pip install twine).
143163
144- which rebuilds the source distribution tarball and uploads it.
145- This means that you have uploaded something that is not tested,
146- also it does not have a gpg signature. It should be the same as
147- the tarball you tested but....
148-
149- A better way to do this is to use twine (pip install twine).
150- You need to sign the tarball. This can be done with:
151-
152- cd dist
153- gpg --detach-sign --armor -u 1F2DD0CB756A76D8 <filename>.tgz
154-
155- you should be prompted to use the roundup release key. If not you
156- 157- This will create a file by the name <filename>.tgz.asc.
158164 The original directions used twine to upload the tarball and the
159165 signature, but as of May 2023, PyPI no longer accepts signature
160- files.
161-
162- So we publish the signature as part of the website. Move the file
163- to the website/www/signatures directory. Commit the .asc signature
164- file to mercurial. Add a new list item at the start of the
165- signature list in doc/security.txt (look for the word multicol).
166+ files. So we publish the signature as part of the website.
166167
167168 Use twine to upload the distribution tarball. E.G.
168169
@@ -178,6 +179,15 @@ Roundup release checklist:
178179 the gpg asc files and place the .whl.asc in the signature
179180 directory.
180181
182+ Another way to upload is to use:
183+
184+ python3 setup.py sdist upload --repository pypi
185+
186+ BUT this rebuilds the source distribution tarball and uploads it.
187+ This means that you have uploaded something that is not tested.
188+ Also the metadata in the file changes and will not match the GPG
189+ signature you commited in step 12. So use twine.
190+
18119114. Refresh website.
182192 website/README.txt
183193 https://www.roundup-tracker.org/ should state that the stable
@@ -205,9 +215,10 @@ Roundup release checklist:
20521517a. install docker
20621617b. run: (issues, how to release a version e.g. to update alpine for
207217 security issues. Currently thinking that release tag is
208- rounduptracker/roundup:2.2.0-1, -2 etc? Then add a tag
218+ rounduptracker/roundup:2.2.0-1, -2 etc. Then add a tag
209219 rounduptracker/roundup:2.2.0 that moves to always tag
210- the latest -N release??)
220+ the latest -N release. Also roundup:latest points to the
221+ newest -N for the newest roundup version.)
211222
212223 docker build -t rounduptracker/roundup:2.2.0 \
213224 --build-arg="source=pypi" -f scripts/Docker/Dockerfile .
@@ -303,13 +314,14 @@ $ gpg --edit-key 411E354B5D1AF26125D621221F2DD0CB756A76D8
303314 > save
304315 [ saves both keys, will need the private key and passphrase ]
305316
306- EXPORT NEW KEY
307- ==============
317+ EXPORT NEW PUBLIC KEY
318+ =====================
308319
309320$ gpg --export -a
[email protected] >> \
310321 tools/roundup.public.pgp.key
311322
312- then edit roundup.public.pgp.key keeping only the last key stat starts
323+ then edit roundup.public.pgp.key keeping only the last key that starts
313324with: -----BEGIN PGP PUBLIC KEY BLOCK-----
314325
315- Commmit new key to mercurial.
326+ and add back the preamble that describes where to find doc for
327+ it. Commmit new key to mercurial.
0 commit comments