Difference between revisions of "Release Process"

From EPrints Documentation
Jump to: navigation, search
m (new categories)
m (Category name typo)
Line 79: Line 79:
 
FIXME ... this hasn't been done recently, but in theory an email should be sent to eprints-announce.
 
FIXME ... this hasn't been done recently, but in theory an email should be sent to eprints-announce.
  
[[Category:Obosolete]]
+
[[Category:Obsolete]]
 
[[Category:Developer]]
 
[[Category:Developer]]

Revision as of 06:18, 30 August 2018

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.