To keep this list current, it is strongly recommended that release managers refer to and follow this list each time a distribution is created. If any of the steps need to be amended, then please update the list.
| 1 | Review JIRA for any issues without a fix version set, and for any issues that should be resolved for the pending release. | ||
|---|---|---|---|
| 2 | Delete the appfuse artifacts in your local Maven2 repository and obtain a fresh checkout:
svn co https://appfuse.dev.java.net/svn/appfuse/trunk appfuse-#-# |
||
|
|||
| 3 | Find and replace #.#.#-SNAPSHOT in build.xml and *.java. Find and replace <appfuse.version>#.#.#-SNAPSHOT</appfuse.version> with <appfuse.version>#.#.#</appfuse.version>. Use "Preparing for #.#.# Release" as the commit message. | ||
|
|||
| 4 | Run the Maven Release Plugin to prepare the release: | ||
mvn release:prepare -Dtag=APPFUSE_#.#.# -DautoVersionSubmodules=true -Dusername=SVNUSERNAME -Dpassword=XXX |
|||
|
|||
| 5 | Run the Maven Release Plugin again - using the same command you did in Step 4. | ||
| 6 | Run the commands below to perform the release: | ||
mvn install -f plugins/pom.xml && mvn release:perform -Dusername=SVNUSERNAME -Dpassword=XXX -Dgpg.passphrase="XXX" -Darguments="-Dgpg.passphrase=XXX" See MGPG-9 for more information. |
|||
| 7 | Review and Close the Staged Release Use "Staged release of AppFuse #.#.#." as the Close message. Promote the release to AppFuse Releases after closing. | ||
| 8 | Update JIRA with tag/release date; Update QuickStart Guide with new version; Create new release notes page, and link to prior release page and JIRA filters. Add News story with link to JIRA Release Notes and Upgrade Guide. | ||
| 9 | Export the Confluence documentation as a PDF and upload to java.net. | ||
| 10 | Create a bundle of all the dependencies used by AppFuse and upload to java.net. | ||
| 11 | Update demos on demo.appfuse.org. | ||
| 12 | Find and replace #.#.# with #.#.#-SNAPSHOT in build.xml and *.java. Find and replace <appfuse.version>#.#.#</appfuse.version> with <appfuse.version>#.#.#-SNAPSHOT</appfuse.version>. Use "Preparing for next development iteration" as the commit message. | ||
| 13 | Deploy the new snapshot from the AppFuse trunk (with the latest POMs): | ||
mvn install deploy -Dgpg.passphrase=XXX -DperformRelease=true -DskipTests |
|||
| 14 | Announce the release on the user list and enjoy your success. | ||
| 15 | Re-enable the deploy plan in Bamboo. |
Resources
- Apache Struts Release Guidelines
- Struts Maintenance Guide for Maven
- OpenJPA Release Guidelines
Retagging
If a tagged build needs to be retagged, be sure to delete the old tag first.
svn delete https://appfuse.dev.java.net/svn/appfuse/tags/APPFUSE_#_#_# -m "APF-### Removing first try at 2.#.#."
Sample Test Build Announcement
Test builds are only announced to the dev list.
The test build of AppFuse 2.0 is available.
No determination as to the quality ('alpha,' 'beta,' or 'GA') of this release has been made, and at this time it is simply a "test build". We welcome any comments you may have, and will take all feedback into account if a quality vote is called for this build.
Release notes:
- [LINK]
Maven 2 staging repository:
We appreciate the time and effort everyone has put toward contributing code and documentation, posting to the mailing lists, and logging issues.
Sample Release/Quality Vote
The AppFuse #.#.# test build has been available since ## ### ####.
Release notes:
- [LINK]
Maven 2 staging repository:
If you have had a chance to review the test build, please respond with a vote on its quality:
[ ] Leave at test build
[ ] Alpha
[ ] Beta
[ ] General Availability (GA)Everyone who has tested the build is invited to vote. Votes by AppFuse committers are considered binding. A vote passes if there are at least three binding +1s and more +1s than -1s.
Please remember that a binding +1 for GA implies that you intend to support the release by applying patches and responding to posts to the user and dev lists.
Sample Release Announcment
The AppFuse team is pleased to announce the release of AppFuse #.#.# $GRADE.
AppFuse #.#.# is available as a Maven archetype. For information on creating a new project using this release, please see the QuickStart Guide:
http://appfuse.org/display/APF/AppFuse+QuickStart
The #.#.x series of AppFuse has a minumum requirement of the following specification versions:
- Java Servlet 2.4 and JavaServer Pages (JSP) 2.0
- Java 2 Standard Platform Edition (J2SE) 5.0
The release notes are available online at:
- [LINK]