Release Guide has been edited by Andrus Adamchik (Jan 15, 2007).

(View changes)

Content:

Note that this page is of use for committers only. It describes the general procedure of building a Cayenne release.

Prerequisites

Preparing Sources

  • Create a report in Jira listing all issues that are FIXED but not CLOSED, paste its contents to RELEASE-NOTES.txt. Bulk-close all involved issues. Note that issues that affect multiple releases are usually closed immediately when they are fixed, and the note is placed in RELEASE-NOTES.txt immediately when this happens.
  • Edit UPGRADE-NOTES.txt if there is anything to add there.
  • Check Sources Compliance with ARAT

ARAT (A Release Audit Tool) is a Java tool written by Robert Burrell Donkin for checking the release files for ASF licensing compliance. To run ARAT, check it out of SVN (we are using version 0.4) , build with Ant, and run against unpacked distro (or the release tag):

java -jar rat-0.4.jar /path/to/cayenne > report.txt

Read the report and fix any issues.



Building Release Artifacts

  • Tag cayenne directory under the repository trunk (assuming [release_version] is a version tag identifying the release, such as "1.2B3"):
svn mkdir https://svn.apache.org/repos/asf/incubator/cayenne/main/tags/[release_version] -m "[release_version] tag dir"
svn copy https://svn.apache.org/repos/asf/incubator/cayenne/main/trunk/cayenne \
   https://svn.apache.org/repos/asf/incubator/cayenne/main/tags/[release_version]/cayenne -m "tagging B3 release"
  • Export the new tag to some directory on the build machine:
svn export https://svn.apache.org/repos/asf/incubator/cayenne/main/tags/[release_version]/cayenne
  • Change project.version build property to reflect current release version:
cd cayenne/cayenne-ant
vi default.properties
  • Run a test to make sure the checkout is ok:
ant test

Test with all supported databases listed here, or at least as many as possible. See Legacy Ant Unit Tests for more details on how to test each of the various database servers with legacy versions of Cayenne.

  • Build a release for the target platform:
ant release
ant release-win
ant release-mac
  • Signing release

For more info visit this page. Release manager key must be in the project KEYS file. Signing is a manual procedure not included in the Ant or Maven script. Here is how it might work ("-u" option can be omitted if you have only one GPG key):

gpg --armor -u B8AF90BF --output cayenne-2.0-SNAPSHOT.tar.gz.asc --detach-sig cayenne-2.0-SNAPSHOT.tar.gz

Voting

  • Release files are uploaded to the release manager's wed directory on people.apache.org
  • The vote is started on cayenne-dev mailing list.

Publishing the Release

TODO

Reply via email to