Skip to content

How to release

ulfmueller edited this page Feb 1, 2018 · 17 revisions

Preparation

  • Start a reminder issue a few days before the release and label various issues to the release. Leave this issue open until the release is done and close it with a comment to inform the other developers.
  • Create a release branch. Mind the Dreissen Branching Model
  • Test the examples and start in issue for non working examples.
  • Use empty virtual environment e.g. virtualenv etrago_env --clear -p python3.5 and install new version
  • Start documentation of release in doc/whatsnew/ v[X]_[Y].rst
  • ...

Day of release

  • check setup.py and add new version no.
  • Merge release branch into master and dev branch.
  • Create a release tag.
  • Release by using the tag.
  • Release via PyPI (if you don't have permissions for this repo, ask someone who does, e.g. @ulfmueller)
    1. The upload requires a ~/.pypirc file with your PyPI credentials. Mind this: https://mail.python.org/pipermail/distutils-sig/2017-June/030766.html
    2. Make sure you are in master branch.
    3. (Use python3 setup.py sdist bdist_wheel to create the distribution)
    4. use twine to upload the distribution by twine upload dist/eTraGo-x.y.z.tar.gz

Readthedocs

  • In case of mayor changes of the files and folder structure create or update the doc/api files for ReadtheDocs by using sphinx-apidoc -o api/ ../etrago/
  • check import of packages and add in case if not 'READTHEDOCS' in os.environ: import ...
  • include new release massage /news file doc/whatsnew/v[X]_[Y].rst into /doc/whatsnew.rst by adding .. include:: whatsnew/v[X]_[Y].rst
  • add new version no. of release in doc/conf.py
  • ...

Links:

Based on: How to release (oemof)

Clone this wiki locally