-
Notifications
You must be signed in to change notification settings - Fork 46
Making a release
For these steps, it is assumed we are working with release 1.0.0.
Steps:
- Write release notes.
- Update version.
- Finish change log.
- Check all the code in.
- Tag the release.
- Export the release.
- Create tarball.
- Create hashes for the tarball and sign with
gpg. - Update website.
This should be pretty self explanatory. Use one of the release notes from a previous release as an example.
Edit src/shflags and change the version number in the FLAGS_VERSION variable.
Make sure that any remaining changes get put into the CHANGES-X.X.txt file.
Finish writing the RELEASE_NOTES-X.X.X.txt. Once it is finished, run it
through the fmt command to make it pretty. (This assumes the lines weren't
already wrapped at 80 chars when the file was edited.)
$ fmt -w 80 RELEASE_NOTES-2.0.0.txt >RELEASE_NOTES-2.0.0.txt.new
$ mv RELEASE_NOTES-2.0.0.txt.new RELEASE_NOTES-2.0.0.txtWe want to have an up-to-date version of the documentation in the release, so we'd better build it.
$ pwd
.../shflags/source/1.0
$ rst2html --stylesheet-path=doc/rst2html.css README.txt >README.htmlThis step is pretty self-explainatory
$ pwd
.../shflags/source/1.0
$ svn ci -m "finalizing 1.0.0 release"$ cd ..
$ pwd
.../shflags/source
$ ls
1.0
$ svn cp -m "Release 1.0.0" 1.0 https://shflags.googlecode.com/svn/tags/1.0.0$ cd ../builds
$ pwd
.../shflags/builds
$ svn export https://shflags.googlecode.com/svn/tags/1.0.0 shflags-1.0.0$ tar cfz ../releases/shflags-1.0.0.tgz shflags-1.0.0$ cd ../releases
$ gpg --default-key kate.ward@forestent.com --detach-sign shflags-1.0.0.tgzTo post the release, the ProjectInfo page needs to be updated with the release info (release, date, and MD5), and the release with GPG signature needs to uploaded.
google-gflags (http://code.google.com/p/google-gflags/)