This page is a brain dump of the various items needed for a release.

Requirements

Preparation

svn co https://svn.apache.org/repos/asf/jmeter/trunk jmeter_v3_2_RC1

cd jmeter_v3_2_RC1

ant download_jars 

ant clean-docs
ant docs-site
ant docs-api -Djmeter.version=3.2

svn status

svn commit -m "Prepare next release 3.2: update docs tree and overview (RC1)"

svn update

svn copy -m "Tag for pre-release" . https://svn.apache.org/repos/asf/jmeter/tags/v3_2_RC1

svn switch https://svn.apache.org/repos/asf/jmeter/tags/v3_2_RC1

ant -Djmeter.version=3.2 -Duser.name=milamber@apache.org distribution

Generate Release

ant _dist_maven -Djmeter.version=3.2
ant sign_dist -Dgpg.keyname=0612B399 -Dgpg.secretKeyring=~/.gnupg/secring.gpg

ant maven_upload -Djmeter.version=3.2 -DrepoType=releases

cd dist/
java -jar $RAT_HOME/apache-rat-0.12.jar ./apache-jmeter-3.2.tgz > rat-report-jmeter-3.2RC1.txt
unix2dos rat-report-jmeter-3.2RC1.txt

Upload release artifacts to staging directory

JMeter releases are now published using svnpubsub.
For release votes, the files are uploaded to the dev/jmeter tree at https://dist.apache.org/repos/dist/dev/jmeter/
If the vote succeeds, they are renamed to the release directory at https://dist.apache.org/repos/dist/release/jmeter/ which is automatically published to the ASF mirror system.

ant RC_upload -DRC=RCn -DrepoType=live [-Dasf.ldap.password=secret [-Dasf.ldap.username=user] ]

The files should now be available under https://dist.apache.org/repos/dist/dev/jmeter/

Create docs branch

The site documentation now needs to be copied to the appropriate branch directory from the tag. [Note: if the vote fails, the branch will need to be removed and recreated]

svn cp -m"Create docs branch" https://svn.apache.org/repos/asf/jmeter/tags/v3_2_RC1 https://svn.apache.org/repos/asf/jmeter/branches/docs-3.2/

The Javadocs are not yet part of SVN at this point. For simplicity when reviewing the release candidate, they should be added to the docs branch here:

svn import -m "Add Javadocs" docs/api https://svn.apache.org/repos/asf/jmeter/branches/docs-3.2/docs/api

It would be possible to add them directly to the live SVN directory later, but they need to be available for review, so it's easiest to create the branches/docs-m.n/docs tree as an exact copy of what will be released.

Checks to do before sending vote email

Vote on release

After VOTE success

svn copy https://svn.apache.org/repos/asf/jmeter/tags/v3_2_RC1 https://svn.apache.org/repos/asf/jmeter/tags/v3_2 -m "Vote succeeded, create the 3.2 tag"

Move RC dist files to release

This is done using svnmnucc. It moves the files from the staging director https://dist.apache.org/repos/dist/dev/jmeter/ to the live are at https://dist.apache.org/repos/dist/release/jmeter/

ant RC_publish -DRC=RCn -DrepoType=live [-Dasf.ldap.password=secret [-Dasf.ldap.username=user] ]

Update main distribution files

svn co --depth files  https://dist.apache.org/repos/dist/release/jmeter/ dist-jmeter

svn commit -m "JMeter 3.2 release - Prepare update site" dist-jmeter

Maven Release

Wait for the update mirrors and central maven

Update Doap file

svn co https://svn.apache.org/repos/asf/jmeter/doap

svn commit -m "JMeter 3.2 release"

Publish JMeter site

This is now done using svnmucc. Create a script - for example "updatesite.txt" - containing the following:

rm
https://svn.apache.org/repos/asf/jmeter/site

cp
HEAD
https://svn.apache.org/repos/asf/jmeter/branches/docs-3.2/docs
https://svn.apache.org/repos/asf/jmeter/site

cp HEAD
https://svn.apache.org/repos/asf/jmeter/doap/doap_JMeter.rdf
https://svn.apache.org/repos/asf/jmeter/site/doap_JMeter.rdf

Change the /docs-3.2/ path segment above as appropriate!

Now use svnmucc to update the live site:

svnmucc -m "Update website for the new release JMeter 3.2" -X updatesite.txt

The SvnPubSub system will update the live site within a few seconds.

Updating the current JMeter site

The branches/docs-m.n SVN tree is created from trunk when the release is created. Subsequent updates to trunk documents may not be appropriate to the current release - e.g. changes to test elements - so any necessary changes to the site should be made to the branch (and trunk if appropriate).

Then rebuild the site docs (not the Javadocs!) - ant docs-site -Ddocs.force=true - and update the SVN branch with the changed files.

The site can then be published as above.

Announce

Make sure: JMeter website is update AND download mirrors too.

Update reporter.apache.org

Tidy up

ant release_delete -Djmeter.old.version=3.1 -DrepoType=live [-Dasf.ldap.password=secret [-Dasf.ldap.usermame=user] ]