python-uncompyle6/admin-tools/how-to-make-a-release.md
2020-09-05 06:06:40 -04:00

2.8 KiB

Table of Contents

Get latest sources:

git pull

Change version in uncompyle6/version.py:

$ emacs uncompyle6/version.py
$ source uncompyle6/version.py
$ echo $VERSION
$ git commit -m"Get ready for release $VERSION" .

Update ChangeLog:

$ make ChangeLog

Update NEWS.md from ChangeLog:

$ emacs NEWS.md
$ make check
$ git commit --amend .
$ git push   # get CI testing going early

Make sure pyenv is running and check newer versions

$ admin-tools/check-newer-versions.sh

Switch to python-2.4, sync that up and build that first since it creates a tarball which we don't want.

$ source admin-tools/setup-python-2.4.sh
$ git merge master
# Add and fix merge conflicts
$ git commit

Check against older versions

$ admin-tools/check-older-versions.sh

Make packages and tag

$ . ./admin-tools/make-dist-older.sh
$ pyenv local 3.8.5
$ twine check dist/uncompyle6-$VERSION*
$ git tag release-python-2.4-$VERSION
$ ./admin-tools/make-dist-newer.sh
$ twine check dist/uncompyle6-$VERSION*

Check package on github

$ [[ ! -d /tmp/gittest ]] && mkdir /tmp/gittest; pushd /tmp/gittest
$ pyenv local 3.8.3
$ pip install -e git://github.com/rocky/python-uncompyle6.git#egg=uncompyle6
$ uncompyle6 --help
$ pip uninstall uncompyle6
$ popd

Release on Github

Goto https://github.com/rocky/python-uncompyle6/releases

Now check the tagged release. (Checking the untagged release was previously done).

Todo: turn this into a script in admin-tools

$ pushd /tmp/gittest
$ pip install -e git://github.com/rocky/python-uncompyle6.git@$VERSION#egg=uncompyle6
$ uncompyle6 --help
$ pip uninstall uncompyle6
$ popd

Get onto PyPI

$ twine upload dist/uncompyle6-${VERSION}*

Update tags:

$ git push --tags
$ git pull --tags

Move dist files to uploaded

$ mv -v dist/uncompyle6-${VERSION}* dist/uploaded