-
-
Notifications
You must be signed in to change notification settings - Fork 95
Releasing
rocky edited this page Nov 12, 2024
·
33 revisions
Table of Contents
- Get latest sources:
- Check that new Pythons haven't been released
- Change version in xdis/version.py.
- Update ChangeLog:
- Update NEWS.md from ChangeLog. Then:
- Make sure pyenv is running and check newer versions
- Python 3.6 to 3.10
- Python 3.3 to 3.5
- Python 3.0 to 3.2
- Python 2.4 to 2.7
- Make packages and tag
- Check package on github
- Release on Github
- Get on PyPI
- Push/pull tags:
- Move dist files to uploaded
- Bump version to dev
$ git pull
$ cd ~/.pyenv/plugins/python-build/../.. && git pull && cd -
$ emacs xdis/version.py
$ source xdis/version.py
$ echo $__version__
$ git commit -m"Get ready for release $__version__" .
$ make ChangeLog
$ diff < ChangeLog-spell-corrected.diff
$ codespell ChangeLog # and fix new errors
$ emacs NEWS.md
$ make check
$ git commit --amend .
$ git push # get CI testing going early
$ make check-full
$ admin-tools/check-newest-versions.sh
$ ./admin-tools/merge-for-3.6.sh
$ git commit && git commit .
$ make check-full
$ ./admin-tools/check-3.6-3.10-versions.sh
$ ./admin-tools/merge-for-3.3.sh
$ make check-full
$ ./admin-tools/check-3.3-3.5-versions.sh
$ ./admin-tools/merge-for-3.0.sh
$ make check-full
$ admin-tools/check-3.0-3.2-versions.sh
$ ./admin-tools/merge-for-2.4.sh
$ make check-full
$ . ./admin-tools/check-2.4-2.7-versions.sh
$ git push
$ twine check dist/xdis-*.{whl,egg}
$ admin-tools/make-dist-2.4-2.7.sh
$ pyenv local 3.9
# $ git tag release-python-2.4-$__version__
# $ twine check dist/xdis-$__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-3.6-3.10.sh
$ git tag release-python-3.6-$__version__
$ ./admin-tools/make-dist-newest.sh
$ twine check dist/xdis-$__version__*.whl
$ [[ ! -d /tmp/gittest ]] && mkdir /tmp/gittest; pushd /tmp/gittest
$ pyenv local 3.11.7 # not the latest 3.11
$ pip install -e git+https://github.com/rocky/python-xdis#egg=xdis
$ pydisasm --version
$ pydisasm src/xdis/__pycache__/__pkginfo__.cpython-38.pyc
$ pip uninstall xdis
$ popd
Goto https://github.com/rocky/python-xdis/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-xdis@$__version__#egg=xdis
$ pydisasm --version
$ pydisasm src/xdis/__pycache__/__pkginfo__.cpython-311.pyc
$ pip uninstall xdis
$ popd
$ twine upload dist/trepan2-${__version__}*.{whl,gz}
Check on https://pypi.org/project/xdis/
$ git push --tags
$ git pull --tags
$ mv -v dist/xdis-${__version__}* dist/uploaded
In xdis/version.py
, bump number and add .dev0
.