Skip to content

Releasing

R. Bernstein edited this page Jan 11, 2021 · 33 revisions

Table of Contents

Get latest sources:

$ git pull

Change version in xdis/version.py.

$ emacs xdis/version.py
$ source xdis/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-full

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

Update NEWS.md from master branch

$ git commit -m"Get ready for release $__version__" .
$ git push origin HEAD

Check against older versions

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

Make packages and tag

$ admin-tools/make-dist-older.sh
    $ pyenv local 3.9.1
    $ twine check dist/xdis-$__version__*
    $ git tag release-python-2.4-$__version__
    $ . ./admin-tools/make-dist-newer.sh
    $ twine check dist/xdis-$__version__*

Check package on github

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

Release on Github

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

Get on PyPI

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

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

Push/pull tags:

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

Move dist files to uploaded

    $ mv -v dist/xdis-${__version__}* dist/uploaded
Clone this wiki locally