Skip to content

Instantly share code, notes, and snippets.

@alex
Last active December 23, 2015 07:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alex/8881eb1662bedf03a3ba to your computer and use it in GitHub Desktop.
Save alex/8881eb1662bedf03a3ba to your computer and use it in GitHub Desktop.

Doing a release is too hard

I just shipped a new release of alchimia. Here are the steps I went through:

  • Manually edit version numbers in setup.py and docs/conf.py. In theory I could probably centralize this, but then I'd still have a place I need to update manually.
  • Issue a git tag (actually I forgot to do that on this project, oops).
  • python setup.py register sdist upload -s to build and upload some tarballs to PyPi
  • python setup.py register bdist_wheel upload -s to build and upload some wheels to PyPi
  • Bump the version again for the now pre-release status (I never remeber to do this)

Here's how it works for OpenStack projects:

  • git tag VERSION -S (-S makes it be a GPG signed tag)
  • git push gerrit VERSION this sends the tag to gerrit for review

Once the tag is approved in the code review system, a release will automatically be issue including:

  • Uploading to PyPi
  • Uploading documentation
  • Landing the tag in the official repository

Version numbers are always automatically handled correctly.

This is how it should be. We need to bring this level of automation to all projects.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment