-
Notifications
You must be signed in to change notification settings - Fork 46
Making a release
This document was written back when periodic releases of shFlags were made for http://code.google.com/. With the move to GitHub, this doesn't make much sense anymore, but I'd like to keep the document around for posterity.
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/)