Skip to content

Developers

Jose Borreguero edited this page Jan 11, 2018 · 28 revisions

TODOs when releasing a new version:

  • Create issue X for the release, and related branch.
  • Update version with bumpversion command. From Semantic Versioning:

Given a version number MAJOR.MINOR.PATCH, increment the:
MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.

File setup.cfg contains the current version of the software. For instance,

[bumpversion]
current_version = 0.1.1
commit = True
tag = True

[bumpversion:file:setup.py]
search = version='{current_version}'
replace = version='{new_version}'

[bumpversion:file:idpflex/init.py]
search = version = '{current_version}'
replace = version = '{new_version}'

If the new version is 0.1.2, then we have to bump the PATCH version by issuing the command in the terminal:

$>bumpversion PATCH

will cause the version string to change in files setup.cfg, setup.py, and __init__.py. In addition, it will create a commit with the changes and a tag (in this case tag "v0.1.2")

  • Update HISTORY.rst
  • If necessary, update Development Status in setup.py
  • Commit changes and push to origin.

git commit -m "Refs #X changes before release"
git push origin <branch_name>

  • Create a pull request to address the issue and once it passes and is merged into master, update your local master branch.

git fetch -p git rebase -v origin/master

  • In your local master branch, create a new tag and upload to origin:

git tag -a v0.5.0.0 -m "Alpha stage of version 0.5"
git push origin v0.5.0.0

  • Verify readthedocs successfully built the documentation.
  • Upload the package to pypi

python setup.py sdist # creates directory dist/
twine upload dist/*

That's all!

Clone this wiki locally