Skip to content

How to make a release

TobiasWeigel edited this page Feb 6, 2018 · 1 revision

git releasing esgfpig (pypi etc)

(1) Develop on devel

  • Make sure you develop on devel branch
  • Make sure that version number is the next minor, plus DEV tag (last release was 1.2.3, now work on 1.2.4-dev)

(2) Finish a version on devel

  • Make sure that...
    • unit tests pass
    • docs are updated, if necessary!
    • if API changed, or messages changed, also need to adapt servlet or clients...
  • In setup.py, remove dev-tag from version number
  • Maybe increment to next higher major version number in setup.py (if the change was big enough for major version change)
  • Commit:
git commit -m "Finish version x.y.z"
git push origin devel

(3) Releases branch

  • Squash commits together as a release:
git checkout releases
git merge --squash devel
git commit -m "Version x.y.z"
git push origin releases

(4) Pypi branch

(This may be optional, releasing directly from devel may also do it. Or creating an actual master branch and releasing from there.)

  • Add changes to pypi branch
git checkout pypi
git rebase releases
  • Push to pypi:
python setup.py sdist upload -r pypi

(5) Don't forget to increase on devel:

  • Increment version number to next minor, and add DEV tag.
git checkout devel
# now change setup.py and git-add...
git commit -m "Increment version number to x.y.z+1-dev"
git push origin devel