11 Releasing
rocky edited this page 2024-03-16 05:08:04 -04:00

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. Then:

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

Make sure pyenv is running and check newer versions

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

Python 3.3 to 3.5

$ ./admin-tools/merge-for-3.3.sh
$ git commit .
$ make check
$ ./admin-tools/check-3.3-3.5-versions.sh
$ git push origin HEAD

Python 3.0 to 3.2

$ ./admin-tools/merge-for-3.0.sh
$ git commit .
$ make check
$ ./admin-tools/check-3.3-3.5-versions.sh
$ git push origin HEAD

Python 2.4 to 2.7

$ ./admin-tools/merge-for-2.4.sh
$ make check
$ . ./admin-tools/check-2.4-2.7-versions.sh
$ git push origin HEAD

Make packages and check

$ ./admin-tools/make-dist-2.4-2.7.sh
$ pyenv local 3.9
$ twine check dist/uncompyle6-$__version__*
$ git tag release-python-2.4-$__version__
$ ./admin-tools/make-dist-3.0-3.2.sh
$ git tag release-python-3.0-$__version__
$ ./admin-tools/make-dist-3.3-3.5.sh
$ git tag release-python-3.3-$__version__
$ ./admin-tools/make-dist-newest.sh
$ twine check dist/uncompyle6-$__version__*

Check package on github

$ pushd /tmp/gittest
$ pip install -e git+https://github.com/rocky/python-uncompyle6.git#egg=uncompyle6
$ uncompyle6 --version
$ uncompyle6 src/uncompyle6/__pycache__/__pkginfo__.cpython-38.pyc
$ pip uninstall uncompyle6
$ popd

Release on Github

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

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+https://github.com/rocky/python-uncompyle6.git@$__version__#egg=uncompyle6
$ uncompyle6 --version
$ uncompyle6 src/uncompyle6/__pycache__/__pkginfo__.cpython-38.pyc
$ pip uninstall uncompyle6
$ popd

Pull tags:

$ git pull --tags

Upload to PyPI

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

Check on https://pypi.org/project/uncompyle6/

Move dist files to uploaded

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

Bump version to dev

In uncompyle6/version.py bump number and add .dev0.