This page is a brain dump of the various items needed for a release. It needs some work...
Preparation
- request Bugzilla version update (on INFRA or if you are JMeter committer, ask for sufficient Bugzilla karma to do this yourself)
- ensure changes.xml is up to date
- update JMeterVersion.java (version and year), build.xml (version and docversion) and NOTICE (year)
- update xdocs/download_jmeter.xml to the new version
- 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_RC2
- SVN commands (example) :
svn copy https://svn.apache.org/repos/asf/jmeter/trunk https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2
- 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_RC3
- 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
svn co https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2 jmeter_v2_5_1_RC2
- Move to new directory:
cd jmeter_v2_5_1_RC2/
- download jars needed to build: "ant download_jars"
ant download_jars
- create distribution files:
- Distribution ant task: ant distribution -lib=<libextra> -Djmeter.version=m.n -Duser.name=user-AT-apache.org
ant distribution -Djmeter.version=2.5.1 -Duser.name=username@apache.org
- sign distribution files and maven files via ant tasks:
ant _dist_maven -Djmeter.version=2.5.1 ant sign_dist -Dgpg.keyname=<YOUR_KEY_ID> -Dgpg.secretKeyring=<path to secring.gpg i.e. ~/.gnupg/secring.gpg>
- Upload to Maven repository:
ant maven_upload -Djmeter.version=2.5.1 -DrepoType=releases
- Go to Apache Repository
- Section Staging Repositories
- Check the RC box, add click on Close button (see Closing a staging repository)
- You will receive a email with JMeter Maven Repo URLs
- The main URL must be added to email vote.
- The main URL must be added to email vote.
- Section Staging Repositories
- Generate RAT report (example on Linux with Java)
java -jar $RAT_HOME/apache-rat-0.8.jar ./apache-jmeter-2.5.1.tgz > rat-report-jmeter-2.5.1RC2.txt unix2dos rat-report-jmeter-2.5.1RC2.txt
Vote on release
- Login to people.apache.org in SSH
- Create temporary location to receive dist files
mkdir -p ~/JMETER_2_5_1_RC2/dist/
- From your computer, upload dist files and RAT report to the temporary location (e.g. personal dir: ~/JMETER_2_5_1_RC2/dist/) in people.apache.org
- Return to people.apache.org
- Preparation RC publishing
mkdir -p ~/public_html/jmeter-2.5.1RC2/dist/
- copy archives, sigs and hashes to dist
cp ~/JMETER_2_5_1_RC2/dist/* ~/public_html/jmeter-2.5.1RC2/dist/
- check hashes (before / after uploads)
- Install the site docs:
cd ~/public_html/jmeter-2.5.1RC2/ svn co https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2/docs docs
- Extract Javadocs:
unzip -x jmeter-m.n.o.zip '*/docs/api/*'
and move to docs/api- Example:
cd $HOME cp ~/public_html/jmeter-2.5.1RC2/dist/apache-jmeter-2.5.1.tgz $HOME tar xfz apache-jmeter-2.5.1.tgz cd apache-jmeter-2.5.1/docs/ mv api ~/public_html/jmeter-2.5.1RC2/docs/api rm -r $HOME/apache-jmeter-2.5.1
send round [VOTE] e-mail to dev
- Wait for any feedback (at least 72 hours); address any issues raised, if necessary by creating another release tag
- If at least 3 PMC votes, then continue
After VOTE success
send round [VOTE] [RESULT] e-mail to same mailing lists
- Copy the RC tag to the release tag
svn copy https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2 https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1
Move RC dist files to release
- Connect to people.apache.org in SSH
- Go to RC dist repository (e.g. personal dir)
cd ~/public_html/jmeter-2.5.1RC2/dist
- Make sure that file group is set to jmeter (chgrp jmeter apache-jmeter*)
chgrp jmeter apache-jmeter* chmod g+w apache-jmeter*
- copy archives to /www/www.apache.org/dist/jmeter/binaries and /www/www.apache.org/dist/jmeter/source as appropriate
cp apache-jmeter-2.5.1_src* /www/www.apache.org/dist/jmeter/source cp apache-jmeter-2.5.1.zip* /www/www.apache.org/dist/jmeter/binaries cp apache-jmeter-2.5.1.tgz* /www/www.apache.org/dist/jmeter/binaries
- check files are visible and downloadable from www.apache.org (2+ hours)
- wait a day or so for mirrors to catch up
Update Site dist
- Checkout dist project on your computer
svn co https://svn.apache.org/repos/asf/jmeter/dist dist-jmeter
- Edit HEADER.html to modifiy with new version number
- Optional, add your GPG public key to KEYS
- Commit with svn
svn commit
- Login to people.apache.org in SSH
- Go to dist dir:
cd /www/www.apache.org/dist/jmeter
- Execute a svn update
svn update
Update JMeter site
- login to people.apache.org
- Go to:
cd /www/jmeter.apache.org/
- fetch site from SVN:
svn switch http://svn.apache.org/repos/asf/jmeter/tags/vm_n_o/docs
- Example:
svn switch http://svn.apache.org/repos/asf/jmeter/branches/docs-2.5.1/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
- Example:
cd /www/jmeter.apache.org/ rm -r /www/jmeter.apache.org/api cd ~/public_html/jmeter-2.5.1RC2/docs cp -R api /www/jmeter.apache.org chmod -R g+w /www/jmeter.apache.org/api
- N.B. wait for few hours so site updates catch up
Maven Release
- Go to Apache Repository
- Section Staging Repositories
- Check the RC box, add click on Release button (see: Release a staging repository)
- You will receive a email with JMeter Maven Repo URLs
- The main URL can be added to email announce
- The main URL can be added to email announce
Announce
Make sure: JMeter website is update AND download mirrors too.
- update Wiki version details
- update doap_JMeter.rdf details in trunk and commit
send [ANNOUNCE] e-mail to user@jmeter.a.o, dev@jmeter.a.o
- Double check all URL in email announce!
- 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 a separate mail to Announce
Tidy up
- remove old archives from /www/www.apache.org/jmeter/dist