Skip to content

Releasing

R. Bernstein edited this page Oct 14, 2025 · 5 revisions

Look at the PyPI page for errors in documentation

Look at https://pypi.org/project/python-xasm/ and check over the documentation.

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
$ codespell ChangeLog

Update NEWS.md from ChangeLog:

$ emacs NEWS.md
$ make check
$ git commit --amend .
$ git push origin HEAD # get CI testing going early
$ ./admin-tools/check-newest-versions.sh

Make sure pyenv is running and check newer versions

$ admin-tools/check-newest-versions.sh
$ ./admin-tools/merge-for-3.6.sh
$ git commit && git commit .
$ make check
$ ./admin-tools/check-3.6-3.10-versions.sh
$ git push origin HEAD

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

Make packages and install locally

$ ./admin-tools/make-dist-3.6-3.10.sh
$ ./admin-tools/install-all-newest.sh
$ ./admin-tools/make-dist-newest.sh
$ ./admin-tools/install-all-3.8-3.10.sh

Release on GitHub

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

Set the version, copy the NEWS.md item, and upload the binaries.

Pull tag:

$ git pull --tags

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/

Move dist files to uploaded

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

Bump version to dev

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