My favorites | Sign in
Project Logo
                
Search
for
Updated Sep 15, 2009 by nuggetwheat
HypertableReleaseWorkflow  
Release maintainer's notes

The example shown here is to upgrade from 0.9.0.0-alpha to 0.9.0.1-alpha. Adapt accordingly.

  1. Prepare for next release
    • Update the CHANGES file with the list of changes for the release
    • Modify the CMakeLists.txt file to include the new version number
    • Rename the lib/hypertable-$VERSION.jar file to reflect the new release version
    • Update version number in conf/Capfile.*
    • Run make doc and try to eliminate doxygen warnings
    • Update README to point to new thrift, if needed
  2. Test all changes in the 'next' branch
    • First get all changes into 'next'
    • Make sure the version number is correct (e.g. 0.9.0.1 here) in the top-level CMakeLists.txt
    • Make sure 'next' is a superset of 'master', do a git merge master
    • Make sure tests are passing in the 'next' branch
  3. Pull the changes from 'next' into 'master'
  4.   git checkout master
      git merge next
  5. Tag the release:
  6. git tag -a v0.9.0.1
    Note, -a or -s is required for "git describe" used by the version mechanism in the build system)
  7. Push the changes to official repository:
  8. git push # optionally with an origin name
    git push --tags # optionally with an origin name
  9. Create release tarball:
  10. git archive --format=tar --prefix=hypertable-0.9.0.1-alpha/ v0.9.0.1 | gzip -9 > /tmp/hypertable-0.9.0.1-alpha-src.tar.gz
    Note: gzip compress better than bzip2 for hypertable source, go figure; the trailing / in the prefix is important.
  11. Upload the tarball to the google code download area: http://code.google.com/p/hypertable/downloads/list
  12. Update github repository
  13. Build binary packages using bin/src-utils/htbuild
  14. Update website (in the html.git repository): change wordings in src/*.php and src/*.inc if necessary. But more importantly edit the src/release.inc to make sure variables: $download_version, $release_version and $release_date are set correctly. And then in the web root directory, run the following command:
  15. src/generate.sh
    which will generate the html pages and the news feed.
  16. Re-build doxygen source documentation, check it in (html.git) and publish it (push to the official html.git and pull in /var/www/html)
  17. Send a note to the mailing lists (hypertable-...)

Comment by dr.chamberlain, Mar 06, 2008

Sed already handles this:

sed 's/February 4/February 7/g' $i > $i.2; rm $i; mv $i.2 $i

with this:

sed -i 's/February 4/February 7/g' $i

Details:

-i[SUFFIX], --in-place[=SUFFIX] Edit files in place(makes backup if extension supplied).

Go Hypertable!

Comment by vicaya, Mar 06, 2008

Thanks for the note. The suffix is actually required for /usr/bin/sed on Mac OS X.

So this would work:

sed -i.bak 's/February 4/February 7/g' *.html

Sign in to add a comment
Hosted by Google Code