Differences between revisions 11 and 12
Revision 11 as of 2011-08-13 22:58:51
Size: 3029
Editor: jfarrell
Revision 12 as of 2012-05-04 01:29:52
Size: 65
Editor: jfarrell
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Prepare the Release ==
 1. If this is the first release in a given major or minor version, (ie, 0.4 or 1.0):
  1. Branch TRUNK to branches/N.x where N is the version you are attempting to release. For instance, 0.4.x or 1.2.x.
  1. Check out the new branch locally.
 1. Update Version Info
  1. configure.ac's [thrift] variable to the version you are releasing
  1. update language related files that contain version info, see HowToVersion
  1. commit this change
 1. Generate the contents of the CHANGES file.
 1. Run ./bootstrap.sh && ./configure
 1. Run "make dist". This should produce thrift-[version].tar.gz in the root of your project.
 1. Change the name of thrift-[version].tar.gz to thrift-[version]-rc[release candidate num].tar.gz. The release candidate numbers should start at zero.
 1. Sign the tarball: gpg -ba [tarball.tar.gz] > [tarball.tar.gz].asc
 1. Compute the sha1 and md5 hashes of the tarball: sha1 [tarball.tar.gz] > [tarball.tar.gz].sha1 && md5 [tarball.tar.gz] > [tarball.tar.gz].md5
 1. Copy the tarball, signature, and hashes to somewhere public. I used people.apache.org:~/public_html, but you may use any publicly-accessible hosting.
 1. Write an email to thrift-dev with the following information:
  1. The SVN branch that contains the code you're releasing
  1. The link to download the tarball and signature
  1. The md5 and or sha1 hashes
  1. Language formally proposing that the tarball be accepted as the release at such-and-such version
 1. After this vote has been open for 72 hours, check if it has passed.
 1. If the vote has passed, congratulations, you have a valid release.

== Create binary version of thrift compiler for Windows ==
 1. unpack release tarball: tar -xzf thrift-[version].tar.gz ; cd thrift-[version]/
 1. cross compile using i586-mingw32msvc
  1. sh contrib/mingw-cross-compile.sh
  1. cp thrift.exe thrift-[version].exe
 1. sign and create checksums
  1. gpg --detach-sign --armor thrift-[version].exe
  1. md5sum thrift-[version].exe > thrift-[version].exe.md5
  1. sha1sum thrift-[version].exe > thrift-[version].exe.sha1
 1. Deploy & Publish

== Deploy & Publish the Release ==
 1. ssh people.apache.org and set ''umask 0002''
 1. Copy the tarball, signature, and hashes to the official artifact rep:
  1. mkdir -p /www/www.apache.org/dist/thrift/<version>
  1. copy the tarball, signature, and checksums into the above dir
 1. Create a tag from your version branch:
  1. svn cp .../thrift/branches/<version> .../thrift/tags/thrift-<version>
 1. Update the website to point to the new version
  1. edit /www/thrift.apache.org/thrift/download/index.html to point to the new release (see HowToThriftWebsite for details)
 1. "Release" the version you released in JIRA

== Further Reading ==
 * [[http://www.apache.org/dev/release.html|Releases FAQ]]
 * [[http://www.apache.org/dev/release-signing.html|Signing Releases]]
 * [[http://www.apache.org/dev/publishing-maven-artifacts.html|Publishing Maven Artifacts]]
Moved to http://thrift.apache.org/docs/committers/HowToRelease/

HowToRelease (last edited 2012-05-04 01:29:52 by jfarrell)