Jump to: navigation, search

Difference between revisions of "Zaqar/How to Release"

m (Client)
(Client: Update with server-style milestones in mind.)
Line 1: Line 1:
 
== Marconi: How to Release ==
 
== Marconi: How to Release ==
  
=== Client ===
+
=== Client Releases ===
  
 
The process of releasing a client library is similar to that [[GerritJenkinsGit#Tagging_a_Release|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.
 
The process of releasing a client library is similar to that [[GerritJenkinsGit#Tagging_a_Release|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.
Line 39: Line 39:
 
* http://tarballs.openstack.org/python-marconiclient/
 
* http://tarballs.openstack.org/python-marconiclient/
 
<br/>
 
<br/>
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.:
+
6. Go to the corresponding '''series''' in launchpad (e.g., https://launchpad.net/python-marconiclient/juno) and release the version using the “Release now” link in the table; specify release date in yyyy-mm-dd format and include some notes, e.g.:
 
<pre><nowiki>
 
<pre><nowiki>
# This package is available in pypi, just execute pip install marconi to install.
+
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
+
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
+
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
+
usage is still a work in progress, but applications can now code
# against the entire v1.0 API by importing the marconiclient package.
+
against the entire v1.0 API by importing the marconiclient package.
 
</nowiki></pre>
 
</nowiki></pre>
 
7. Now you should change the status of all bugs for this version from "Fix Commited" to "Fix Released"
 
7. Now you should change the status of all bugs for this version from "Fix Commited" to "Fix Released"
  
8. Upload the tarball to the released launchpad milestone (https://launchpad.net/python-marconiclient/0.0.x/0.0.1) using the "Add download file" button.
+
8. Upload the tarball to the released launchpad milestone (https://launchpad.net/marconi/+milestone/juno-1) using the "Add download file" link. Note that this link only appears after the milestone has been "released".
  
 
9. Sanity-check the PyPI release:
 
9. Sanity-check the PyPI release:
Line 56: Line 56:
 
  $ pip install python-marconiclient
 
  $ pip install python-marconiclient
 
</nowiki></pre>
 
</nowiki></pre>
 +
10. Add the next milestone to the series, or if at the end of a cycle, start a new series and add the first milestone. When adding a new series, be sure to change the release manager to "marconi-drivers".
 
10. Send an email to the community!
 
10. Send an email to the community!
  

Revision as of 21:34, 6 May 2014

Marconi: How to Release

Client Releases

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.

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 <kurt.griffiths@rackspace.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) <kurt.griffiths@rackspace.com>"
gpg:                 aka "Kurt E. Griffiths <mail@kgriffs.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 http://status.openstack.org/zuul/ and you should see something like:

Marconi-client-release.png


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/juno) and release the version using the “Release now” link in the table; 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 the released launchpad milestone (https://launchpad.net/marconi/+milestone/juno-1) using the "Add download file" link. Note that this link only appears after the milestone has been "released".

9. Sanity-check the PyPI release:

 $ pip install python-marconiclient

10. Add the next milestone to the series, or if at the end of a cycle, start a new series and add the first milestone. When adding a new series, be sure to change the release manager to "marconi-drivers". 10. Send an email to the community!

Marconi Server

See also: https://wiki.openstack.org/wiki/ReleaseTeam/How_To_Release