Zaqar/How to Release
Marconi: How to Release
The process of releasing a client library is similar to that followed for server releases. However, in this case, the PTL acts as the "release manager". Note that you must request in #openstack-infra that you be added to the marconi-ptl group in Gerrit, or else git will complain that you don't have permission to push to the gerrit repo.
and also to only push that one tag (both examples demonstrate pushing a single tag, so emulate them and you should be safe there)
1. Make sure the local commit you are tagging is actually present with the same SHA on the published repositories. 2. Add the release tag, for example, “0.0.1” with the following description: “Marconi client version 0.0.1”; it should be signed by your personal gpg key:
git tag -s 0.0.1
2. Sanity-check the tag. You want to make sure the SHA matches a commit in the upstream repo: “git tag -v 0.0.1”. You should see something like:
object 9e5323500646c98db712a1c322dd4342cd1d708a type commit tag 0.0.1 tagger kgriffs <email@example.com> 1399313788 -0500 Marconi client version 0.0.1 This is our first beta release supporting the entire v1.0 API. CLI usage is still a work in progress, but applications can now code against the entire v1.0 API by importing the marconiclient package. gpg: Signature made Mon May 5 13:16:54 2014 CDT using RSA key ID AD4A3478 gpg: Good signature from "Kurt E. Griffiths (@ work) <firstname.lastname@example.org>" gpg: aka "Kurt E. Griffiths <email@example.com>" gpg: aka "[jpeg image of size 25764]"
3. Push the new tag to the gerrit repo. Be sure to PUSH JUST THE ONE TAG.
git push gerrit 0.0.1
4. Now go to the http://status.openstack.org/zuul/ and you should see something like:
5. When openstack/python-marconiclient disappears, the release is now available. Sanity-check the following links for the right versions:
6. Go to the corresponding series in launchpad (e.g., https://launchpad.net/python-marconiclient/0.0.1) and release the version using the “Release Now” button; specify release date in yyyy-mm-dd format and include some notes, e.g.:
# This package is available in pypi, just execute pip install marconi to install. # Tarball: http://tarballs.openstack.org/python-marconiclient/python-marconiclient-0.0.1.tar.gz # # This is our first beta release supporting the entire v1.0 API. CLI # usage is still a work in progress, but applications can now code # against the entire v1.0 API by importing the marconiclient package.
7. Now you should change the status of all bugs for this version from "Fix Commited" to "Fix Released"
8. Upload the tarball to released launchpad milestone (https://launchpad.net/python-marconiclient/0.0.x/0.0.1) using the "Add download file" button.
9. Sanity-check the PyPI release:
$ pip install python-marconiclient
10. Send an email to the community!