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
- verify all tickets for this milestone are correct on github:
  https://github.com/thomasvs/morituri/issues?milestone=4&page=1&state=open
  (for 0.2.3)
- remilestone still open tickets to next release

release
-------
- Pick a new version number and set it:
  export VERSION=0.1.0
- Update configure.ac
- Pick a release name
- Update .doap file
  - add new release
  - list new features
- 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
  https://github.com/thomasvs/morituri/issues?milestone=4&page=1&state=closed
  (for 0.2.3)
  copy and paste and edit manually for now
- 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
- 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 | grep revision
- make distcheck
- make release
- build rpm using rpmbuild and mach
  rpmbuild -ta morituri-$VERSION.tar.bz2
  mach -r f19u64 -k build morituri.spec
- gpg sign
  rpm --addsign /var/tmp/mach/fedora-*/morituri-$VERSION-*/*.rpm
- install it
  sudo rpm -Uhv /var/tmp/mach/fedora-*/morituri-$VERSION-*/*.noarch.rpm
- 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
- 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
  See for example
  http://www.hydrogenaud.io/forums/index.php?showtopic=102003&st=0&gopid=869731&#entry869731
- tweet it
- add this new version to trac
- update the homepage
- bump configure.ac and commit
- why don't you blog about it ?
