= Noosfero release tasks
This file documents release-related activities.
== Working with translations
* Update translation files: rake updatepo. Then git commit them.
* Send the PO files to the translators.
* Get the PO files back from translators, put in po/ under the correct language
name (e.,g. po/pt_BR/) and git commit.
* test translations: rake makemo and browse the application on the web.
== Releasing noosfero
To prepare a release of noosfero, you must follow the steps below:
* finish all requirements and bugs assigned to the to-be-released version
* make sure all tests pass
* write release notes at the version's wiki topic.
* generate package with rake package. Your tarball will be under the pkg/
directory, named as noosfero-${VERSION}.tar.gz
* test that the package contains everything that is needed: explode the tarball
in a temporary directory, copy config/database.yml.sqlite3 to
config/database.yml, and make rake db:migrate and rake test. If
everything is ok, you are done. If not, maybe some files are not going into
the tarball. See lib/tasks/package.rake, probably you'll need to change it.
* Go to the version's wiki topic and edit it to reflect the new reality.
* Attach the generated package to that topic. Before attaching calculate the md5 of the package (with mu5sum and paste the MD5 hash as comment in the attachment form)
* Download the attached and verify the MD5 hash
* create a git tag for the released version with git tag.
* IMMEDIATELY change the version in lib/noosfero.rb to the next version. (e.g.
0.2.0 -> 0.3.0)
* update an eventual demonstration version that you run.
* write an announcement e-mail to the relevant maimling lists pointing to the release notes, and maybe to the demonstration version.
If you had any problem during these steps, you can do rake clobber_package to
completely delete the generated packages and start the process again.