How to create a release
This guide will walk you through the process of creating a release candidate. Once the release candidate has passed a successful vote you can then publish the release
Preparing the Release
- Create a branch from TRUNK to branches/N.x where N is the version you are attempting to release. For instance, 0.5.x or 1.2.x.
- Check out the new branch locally.
- Update Version Info:
- configure.ac's [thrift] variable to the version you are releasing
- update language related files that contain version info, see How To Version
- commit these change
- Generate the contents of the CHANGES file.
- Run ./bootstrap.sh && ./configure
- Run “make dist”. This should produce thrift-[version].tar.gz in the root of your project.
- 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.
- Sign the tarball: gpg -ba [tarball.tar.gz] > [tarball.tar.gz].asc
- 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
- Copy the tarball, signature, and hashes to somewhere public. Recommended place is release managers people.apache.org:~/public_html folder
- Write an email to thrift-dev mailing list with the following information:
- The SVN branch that contains the code you're releasing
- The link to download the tarball and signature
- The md5 and or sha1 hashes
- Language formally proposing that the tarball be accepted as the release at such-and-such version
- After this vote has been open for 72 hours, check if it has passed.
- If the vote has passed, congratulations, you have a valid release. Now you are ready to publish the release
Creating a binary version of thrift compiler for Windows
- unpack release tarball: tar -xzf thrift-[version].tar.gz ; cd thrift-[version]/
- cross compile using i586-mingw32msvc
- sh contrib/mingw-cross-compile.sh
- cp thrift.exe thrift-[version].exe
- Sign the exe: gpg -ba [thrift-[version].exe] > [thrift-[version].exe].asc
- Compute the sha1 and md5 hashes of the tarball: sha1 [thrift-[version].exe] > [thrift-[version].exe].sha1 && md5 [thrift-[version].exe] > [thrift-[version].exe].md5