This page is a brain dump of the various items needed for a release. It needs some work...
Preparation
- request Bugzilla version update (on https://issues.apache.org/jira/browse/INFRA or if you are Jakarta committer, ask to grant sufficient Bugzilla karma to do this himself)
- ensure changes.xml is up to date
- update JMeterVersion.java (version and year), build.xml (version and docversion) and NOTICE (year)
- build site documents, having first cleaned out existing files (so obsolete files will be removed):
[clean-docs] then [docs-site]
- update docs tree in SVN
- build code
- test
- GUI and non-GUI using host with graphic capability
- non-GUI only using host with no graphic capability
- ideally test on minimum supported Java and latest Java - especially for GUI
Generate Release
- tag all the files with a new RC tag, e.g. v2_5_1_RC1
- N.B. Tags must be immutable, i.e. must not be changed once created. A tag can be deleted if it is no longer needed, but must not be recreated.
- If there is a problem with the contents of an RC tag, create a new tag, for example v2_5_1_RC2
- If the tag is part of an ongoing release vote, do not delete it whilst the vote is ongoing, even if the vote is now using a later tag. It can be useful to be able to compare the contents of tags as part of the voting process.
- Once the release vote is over, intermediate tags are no longer needed, and can be deleted.
- If the tag has not been used in a release vote, it can be deleted immediately.
- extract files from SVN using the tag into a new directory tree
- download jars needed to build: "ant download_jars"
- create distribution files:
- ant distribution -lib=<libextra> -Djmeter.version=m.n -Duser.name=user-AT-apache.org
- sign distribution files (gpg -ba file)
- ex. gpg2 -u <id_key> -ba jakarta-jmeter-2.5.1_src.tgz
- ex. gpg2 -u <id_key> -ba jakarta-jmeter-2.5.1_src.zip
- ex. gpg2 -u <id_key> -ba jakarta-jmeter-2.5.1.tgz
- ex. gpg2 -u <id_key> -ba jakarta-jmeter-2.5.1.zip
- Generate RAT report (example on Linux with Java)
- java -jar $RAT_HOME/apache-rat-0.7.jar ./jakarta-jmeter-2.5.1.tgz > rat-report-jmeter-2.5.1RC1.txt
- java -jar $RAT_HOME/apache-rat-0.7.jar ./jakarta-jmeter-2.5.1.tgz > rat-report-jmeter-2.5.1RC1.txt
Vote on release
- upload to temporary location (e.g. personal dir)
- cd public_html ; mkdir jmeter-m.n
- cd jmeter-m.n
- mkdir dist
- copy archives, sigs and hashes to dist
- check hashes (before / after uploads)
- Install the site docs:
svn co http://svn.apache.org/repos/asf/jakarta/jmeter/tags/vm_nxx/docs
- Extract Javadocs:
unzip -x jmeter-m.n.o.zip '*/docs/api/*'
and move to docs/api
send round [VOTE] e-mail to dev and general AT jakarta
- Wait for any feedback; address any issues raised, if necessary by creating another release tag
- If at least 3 PMC votes, then continue
send round [VOTE] [RESULT] e-mail to same mailing lists
- Copy the RC tag to the release tag
Upload files
- Make sure that file group is set to jakarta (chgrp jakarta jakarta-jmeter*)
- copy archives to /www/www.apache.org/dist/jakarta/jmeter/binaries and /www/www.apache.org/dist/jakarta/jmeter/source as appropriate
- check files are visible and downloadable from www.apache.org (2+ hours)
- wait a day or so for mirrors to catch up
Update Jakarta download details and JMeter site
- Ensure you have an up-to-date checkout of https://svn.apache.org/repos/asf/jakarta/site
- update ./xdocs/downloads/downloads.xml file to point to new files
- update ./news.xml to add details of new release
- rebuild jakarta site (ant docs)
- commit changes
- login to people.apache.org
- cd /www/jakarta.apache.org
- svn update
- cd /www/jakarta.apache.org/jmeter
- fetch site from SVN:
svn switch http://svn.apache.org/repos/asf/jakarta/jmeter/tags/vm_n_o/docs
- If the documentation needs to be updated between releases, create a branch docs-vm_n_o from the tag and switch to that
- for later updates, use "svn switch" or "svn update" as appropriate (use svn info to find current setting)
- The Javadocs are not in SVN so these need to be copied from the staging area
- N.B. wait for few hours so site updates catch up
Announce
- update Wiki version details
- update doap_JMeter.rdf details in trunk
send [ANNOUNCE] e-mail to jmeter-user@jakarta, dev@jakarta, announcements@jakarta
- also copy to announce AT ao (has to be sent from an ao e-mail address)
- N.B. to track bounces and unsubscribes, it may be a good idea to use separate mails to Jakarta and Announce, and include a simple marker to distinguish them, e.g. To: Jakarta, To: Announce.
Tidy up
- remove old archives from /www/jakarta.apache.org/jmeter/dist