Release procedure for morituri ------------------------------ pre-release checklist --------------------- - Check downstream bug queues for patches: http://packages.qa.debian.org/m/morituri.html http://patch-tracker.debian.org/package/morituri - Verify that all tests run. - Verify that test run doesn't leave anything around in /tmp: ls /tmp/*morituri* - Verify that help output shows no gstreamer: rip -h - Verify that all buildbots are green: http://build.fluendo.com:8120/grid - Verify the program runs: - normal run - --unknown run - rip offset find - add new milestone to trac and make it the default - verify with ticket query that all fixed tickets for this milestone are correct: https://thomas.apestaart.org/morituri/trac/query?order=priority&col=id&col=summary&col=status&col=type&col=priority&col=milestone&col=component&milestone=0.1.1 - remilestone still open tickets to next release - FIXME: same on github release ------- - Pick a new version number and set it: export VERSION=0.1.0 - Update configure.ac - Pick a release name - Update .doap file - verify the update with moap doap show - Run coverage make coverage - Add coverage data to NEWS Coverage: 64 % (1575 / 2440) - Add list of new features to NEWS - Update bugs fixed in NEWS: moap doap bug query -f "- %(id)3s: %(summary)s" "milestone=$VERSION" FIXME: same on github - Update README and home page with relevant new features, as well as version - Update RELEASE, copying sections from NEWS, and adding contributors with moap cl cont or from git: git log --format='%aN' | sort -u - Run moap cl prep and add comment about release - Update ChangeLog; add === release x.y.z === line - commit locally git commit -a -m "Releasing $VERSION" - tag the release: git tag -a v$VERSION -m "Releasing $VERSION" - make sure we build installed.py with the correct tag autoregen.sh cat morituri/configure/installed.py - make distcheck - make release - build rpm using rpmbuild and mach - gpg sign rpm --addsign /var/tmp/mach/fedora-*/morituri-$VERSION-*/*.rpm - install it - rip a test cd - sync from website: tao-get - copy files to website and upload cp morituri-$VERSION.tar* /home/thomas/www/thomas.apestaart.org/data/download/morituri cp /var/tmp/mach/fedora-*/morituri-$VERSION-*/*.rpm /home/thomas/www/thomas.apestaart.org/data/download/morituri tao-put - push to master git push git push origin v$VERSION - announce to freshmeat: moap doap -v $VERSION freshmeat - send out release mails: - first test: export AT=@ moap doap -v $VERSION mail -f thomas${AT}apestaart.org thomas${AT}apestaart.org - wait for it and read it - then for real: moap doap -v $VERSION mail -f thomas${AT}apestaart.org cdrdao-devel${AT}lists.sourceforge.net teuf${AT}gnome.org morituri${AT}packages.debian.org - announce on hydrogenaudio: http://www.hydrogenaudio.org/forums/index.php?showforum=22 - tweet it - add this new version to trac - update the homepage - bump configure.ac and commit - why don't you blog about it ?