Release process

Release check list

Introduction

This doc assumes there is a checkout of yokadi.github.com next to the checkout of yokadi.

In yokadi checkout

export version=<version>

Check dev is clean

git checkout dev
git pull
git status

Update NEWS file (add changes, check release date)

Ensure yokadi/__init__.py file contains $version

Build archives

./scripts/mkdist.sh ../yokadi.github.com/download

Push changes

git push

When CI has checked the branch, merge changes in master

git checkout master
git pull
git merge dev
git push

Tag the release

git tag -a $version -m "Releasing $version"
git push --tags

In yokadi.github.com checkout

Ensure checkout is up to date

Update documentation

./updatedoc.py ../yokadi .

Update version in download page (download.md)

Write a blog entry in _posts/

Test it:

jekyll serve

Upload archives on PyPI

cd download/
twine upload yokadi-<version>.*

Publish blog post

git add .
git commit -m "Releasing $version"
git push