Release Process
Contents
Ticket Review
On Trac review the outstanding tickets against the release version. This should consist of:
- Any trivial tickets that can be fixed
- Fixes that have been applied to trunk but not yet applied to the branch
- Tickets that will never be fixed ('wontfix')
Wiki Pages
Add the new expected version to Template:Releasenotes.
Create a new page for the version (copy 'n' paste from a previous release). Add any notes about the new version that an upgrading user may need, especially if there are any database changes.
Modify the links to closed tickets and changes - use 'trac' to identify the appropriate revision numbers
Reviewing Code
With the 'diff' link created for the Wiki page you can review the changes happening in the new version:
- Leftover debug statements
- Obvious fubars
- Changes that require additional notes (e.g. database changes)
Trac Milestone
In Trac Admin (Web interface) create a new milestone.
From the Roadmap screen click the Milestone and complete it, transferring any unresolved tickets to the new milestone. You may wish to duplicate the notes from the Wiki (if any).
Building the Actual Release
Checkout the 'release' code:
svn co https://svn.eprints.org/eprints/tools/release
Edit versions.txt to append your new version (pick a name). Commit!
In perl_lib/EPrints.pm modify the VERSION to the version you are about to tag and commit it!
Tag the release:
svn cp https://svn.eprints.org/eprints/branches/[X.Y] https://svn.eprints.org/eprints/tags/[X.Y.Z]
Build a release package:
./makepackage.pl [X.Y.Z]
Will write "eprints-X.Y.Z.tar.gz" to packages/.
Testing the Package
As a minimum you should install the tarball on a blank system and:
./epadmin create ... ./testdata/bin/import_test_data ./bin/generate_apacheconf
Create a test eprint (needed for next step).
./bin/indexer debug ./bin/epadmin unit_tests
Test the repository comes up and you can log in.
If anything fails, delete the tag and repeat. (We don't want lots of X.Y.Z-oops in tags!)
Publishing the Package
On http://files.eprints.org/ create a New Version of the latest version in the branch you are working on.
Fix the title and official URL links. Copy in the upgrade notes from the Wiki page (if any).
Remove all existing documents and upload your tarball. You will also need to build and upload .rpm, .deb and .msi versions (obviously require the appropriate environments to build each one).
Notifying the Release
FIXME ... this hasn't been done recently, but in theory an email should be sent to eprints-announce.