Skip to content

Releasing

R. Bernstein edited this page Nov 7, 2021 · 1 revision

Table of Contents

Get latest sources:

$ git pull

Change version in xasm/version.py.

$ emacs xasm/version.py
$ source xasm/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   # get CI testing going early
$ make check

Make sure pyenv is running and check newer versions

$ admin-tools/check-versions.sh

Make packages and tag

$ admin-tools/make-dist.sh
$ pyenv local 3.9.7
$ twine check dist/xasm-$__version__*
$ git tag release-python-2.4-$__version__

Check package on github

$ [[ ! -d /tmp/gittest ]] && mkdir /tmp/gittest; pushd /tmp/gittest
$ pyenv local 3.8.6
$ pip install -e git://github.com/rocky/python-xasm.git#egg=xasm
$ pydisasm --version
$ pydisasm src/xasm/__pycache__/__pkginfo__.cpython-38.pyc
$ pip uninstall xasm
$ popd

Release on Github

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

Get on PyPI

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

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

Push/pull tags:

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

Move dist files to uploaded

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

Bump version to dev

In xasm/version.py bump number and add .dev0`.