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

DRAFT

Requirements

Preparation

svn co https://svn.apache.org/repos/asf/jmeter/trunk jmeter_v5_0_RC1
cd jmeter_v5_0_RC1
ant download_jars 
ant clean-docs
ant docs-site
ant docs-api -Djmeter.version=5.0
svn status
svn commit -m "Prepare next release 5.0: update docs tree and overview (RC1)"
svn update
svn copy -m "Tag for pre-release" . https://svn.apache.org/repos/asf/jmeter/tags/v5_0_RC1
svn switch https://svn.apache.org/repos/asf/jmeter/tags/v3_2_RC1
ant -Djmeter.version=5.0 -Duser.name=milamber@apache.org distribution

Generate Release

ant _dist_maven -Djmeter.version=5.0
ant sign_dist -Dgpg.keyname=0612B399 -Dgpg.secretKeyring=~/.gnupg/secring.gpg
ant maven_upload -Djmeter.version=5.0 -DrepoType=releases
cd dist/
java -jar $RAT_HOME/apache-rat-0.12.jar ./apache-jmeter-5.0.tgz > rat-report-jmeter-5.0RC1.txt
unix2dos rat-report-jmeter-5.0RC1.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-5.0/

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-5.0/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/v5_0_RC1 https://svn.apache.org/repos/asf/jmeter/tags/v5_0 -m "Vote succeeded, create the 5.0 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
gpg -u emailOfPmcChairJMeter@apache.org --armor --output META.asc --detach-sig META
$ gpg --verify META.asc META

gpg: Signature made mar. 12 sept. 2017 18:05:19 WEST
gpg:                using RSA key C4923F9ABFB2F1A06F08E88BAC214CAA0612B399
gpg:                issuer "milamber@apache.org"
gpg: Good signature from "Milamber (ASF) <milamber@apache.org>" [ultimate]
gpg:                 aka "Milamber (Milamberspace) <milamberspace@gmail.com>" [ultimate]
svn commit -m "JMeter 5.0 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 5.0 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-5.0/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-5.0/ path segment above as appropriate!

Now use svnmucc to update the live site:

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

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

Note: it's important that the existing contents are removed and replaced, rather than just copying the current site over. This ensures that obsolete files are removed.

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

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.

If only a few changes are necessary, these can be updated using normal SVN commit.

Announce

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

Update reporter.apache.org

Add release data (version and date) to reporter.apache.org - https://reporter.apache.org/addrelease.html?jmeter

Tidy up

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