Hi,
while doing the 0.8.1 release I noticed that a lot of manual work must be done. And it... sucks a little bit.
I did some automation to make it easier and I'll write it down here for further reads.
It only applies to the stable release as it's still plugin-based. The master version is gemifying the plugins so most of it will be different.
As a summary the steps have been:
1. Create a new fresh clean stable project:
ubiquo project_release --devel
cd project_release
2. Do the version pump and tagging
rake ubiquo:foreach COMMAND="rake bump:tiny ; true "
rake ubiquo:foreach COMMAND="git commit -a -m 'Bump version to 0.8.1' ; true "
rake ubiquo:foreach COMMAND="git tag v0.8.1; true"
3. Create the changelog
Change the git log to only show the commits between this release and the previous
rake ubiquo:foreach COMMAND="pwd >> /tmp/changelog; git log 'v0.8.0'..'0.8-stable' --oneline >> /tmp/changelog"
mv /tmp/changelog ./vendor/plugins/ubiquo_guides/guides/source/changelog_081.textile
3.2 Edit the file and adapt the syntax for each plugin.
3.3 Replace the full path for each h3 textile tag
3.4 Review the commits removing the useless merge messages and maybe some typos or mistakes.
3.5 Replace the # of the commits to links to the tiquets. I did it with netbeans with the replace in regexp:
search: \[\#(\d+)([^\]]*)\]
replace: ["#$1":http://ubiquo.lighthouseapp.com/projects/27683/tickets/$1]
What we want to explain is what has changed. So we take the changelog and see what has happened and write it down. I take the changeset and remove the fixmes, and convert the commit messages to something that can be read.
And I think that's all.
I hope it helps the next one who will do a release. It'll help me at least :P