Forrest Release Process ============================ This file documents the steps a release manager should follow when making a new Forrest release. Preparations ------------ - Ensure that as many PMC members as possible have their PGP keys in the KEYS file. - Ensure that there are no copyright issues. The committers and PMC would have been continually monitoring this. There are some tools to assist with scanning for issues, e.g. cvs://committers/relicense/src/perl/relicense.txt cvs://committers/tools/ Building the distribution ------------------------- - Edit module.xml and replace the '-dev' text with '' i.e. nothing: ... - Edit status.xml, remove the -dev from the current tag, and set the release date. Also add a new for development on the next version e.g. from: ... to: ... - Edit src/core/forrest.build.xml to update the version tag to remove the "-dev". there are two occurences: around line 29: around line 52: | Forrest Site Builder | | 0.6-dev | ^^^^ - Create a new file, etc/RELEASE-NOTES-x.y.txt, where x.y is the version currently being released. It is best to copy an earlier RELEASE-NOTES file, to keep a common layout. In this file, provide a summary of changes, and check for general accuracy. Scan the status.xml/changes and the Roadmap via the issues tracker, to find the important issues. - Check out a fresh copy from SVN to make sure you have no local modifications, especially those that might be hidden by svn:ignore settings. Alternatively, run 'svn st --no-ignore' and delete any extra files. - Set your Java version to be the lowest specified of our supported versions. - Run 'build release-dist' to generate the distributions. - Two archives are created: apache-forrest-X.Y.tar.gz apache-forrest-X.Y.zip - Repeat that on a Windows machine. - Use the .tar.gz from the UNIX machine and .zip from the Windows machine. - In that way, SVN will ensure correct line-endings on all text files. - Understand how to sign releases and generate MD5 and PGP. http://wiki.apache.org/incubator/SigningReleases - Test the actual distribution on various platforms. - Ask all developers to test (command-line, run, and webapp). - Each developer can do 'build dist' and test locally. Coordinate to ensure that each is using the same SVN revision and that the MD5 sums match. - Follow the actual user instructions. - Use it to build some difficult sites. - Ensure that the compressed archives will unpack correctly. - If everything looks okay, tag SVN with 'svn copy https://svn.apache.org/repos/asf/forrest/trunk https://svn.apache.org/repos/asf/forrest/tags/forrest_xy', where 'xy' is a compact form of the version (eg 04, 041, 05). See http://svn.apache.org/repos/asf/forrest/tags/ for a list of existing tags. - Create a maintenance branch in SVN with 'svn copy https://svn.apache.org/repos/asf/forrest/tags/forrest_xy https://svn.apache.org/repos/asf/forrest/branches/forrest_xy_branch'. Upload and announcement ----------------------- - Upload the tarballs, the KEYS file, the *.asc and *.md5 files, **and the RELEASE-NOTES** to www.apache.org at /www/www.apache.org/ dist/forrest/ Each PMC member has a server account and belongs to the forrest group. The process is documented at http://cvs.apache.org/~bodewig/mirror.html - Edit the forrest/src/documentation/content/xdocs/mirrors.ihtml - Edit the Forrest home page in the "News and events" section. - Rebuild and publish the Forrest website as normal. - Wait for the various mirrors to pick up the new files. This has been known to take up to 10 hours. Test it via http://forrest.apache.org/mirrors.cgi - Edit xml-site/src/documentation/content/xdocs/news.xml and record the announcement, and then commit the new HTML to xml-site/targets/forrest Note that they still use forrest-0.5.1 to build their website. - Send announcement email. Typically this is sent as: To: dev@forrest.apache.org, user@forrest.apache.org, announce@apache.org, announcements@xml.apache.org Subject: [Announce] Apache Forrest X.Y.Z !! Always refer them to the mirror facility !! Never mention the URL www.apache.org/ dist/ in email. Use the template at etc/announcement.txt Use your spelling checker! See previous announcements: 0.2 http://marc.theaimsgroup.com/?l=xml-apache-announce&m=103746673310573 0.3 http://marc.theaimsgroup.com/?l=xml-apache-announce&m=104399934113331 0.4 http://marc.theaimsgroup.com/?l=jakarta-announce&m=104510734501302 0.5 http://marc.theaimsgroup.com/?l=xml-apache-announce&m=106352706005681 0.5.1 http://marc.theaimsgroup.com/?l=xml-apache-announce&m=106541447606765 - Ask Jeff Turner to do the freshmeat announcement, or add you as an admin. http://freshmeat.net/projects/forrest/ Cleanups -------- - Edit module.xml, increment the version and add a -dev tag: - Edit src/core/forrest.build.xml and update the version: | Forrest Site Builder | | 0.7-dev | All done! Or perhaps not.. if you think of anything, please add it here.