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



svn co jmeter_v2_8_RC1

cd jmeter_v2_8_RC1

ant download_jars 

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

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

svn update

svn copy -m "Tag for pre-release" .

svn switch

ant -Djmeter.version=2.8 distribution

Generate Release

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

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

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

Checks to do before send vote email

Check: JMeter SVN tree vs JMeter archive sources

For JMeter sources, need a Linux box, SVN (apache) and GIT (local).

Export the RC tags to a temporay directory.

cd /tmp
svn export jmeter_v2_8_RC1

Initialize a GIT local repository

cd jmeter_v2_8_RC1/
git init

Add and commit all files from the svn export

git add *
git commit -m "SVN export to initial import"

Untar the JMeter sources tgz file into a temporary directory, and copy the contents in the git repo.

tar xfz /tmp/releases/jmeter_2_8/jmeter_v2_8_RC1/dist/apache-jmeter-2.8_src.tgz -C /tmp
cp -a /tmp/apache-jmeter-2.8/* /tmp/jmeter_v2_8_RC1/

Check the differences with the git diff command:

cd /tmp/jmeter_v2_8_RC1/
git diff

Samples Results:

diff --git a/bin/jmeter b/bin/jmeter
old mode 100755
new mode 100644
diff --git a/bin/jmeter-server b/bin/jmeter-server
old mode 100755
new mode 100644
diff --git a/xdocs/download_jmeter.cgi b/xdocs/download_jmeter.cgi
old mode 100755
new mode 100644

Here, differences is only the permission on some files (not matter in this case)

After all checks, you can remove the temporary directories.

Vote on release

mkdir -p ~/jmeter_v2_8_RC1/dist/

cd ./dist/ scp apache-jmeter-2.8* minautor:/home/milamber/jmeter_v2_8_RC1/dist/ scp rat-report-jmeter-2.8RC1.txt minautor:/home/milamber/jmeter_v2_8_RC1/dist/

mkdir -p ~/public_html/jmeter-2.8RC1/dist/

cp ~/jmeter_v2_8_RC1/dist/* ~/public_html/jmeter-2.8RC1/dist/

MD5 checks (local)

Example, on local Linux box:

cd /release_dir/dist
find . -name "*.md5" -exec cat {} \; -exec echo "" \;

Results (copy/paste to email vote):

98838d5dc4f2b735b522abc8425aec0d *
9a1740e7828a4d25e439934974672b8b *apache-jmeter-2.8.tgz
b5283a2099fe4186f8978a3ccfb4e8d6 *apache-jmeter-2.8_src.tgz
ca70cf7fdf8b98ded1dc0494bdc9de14 *

After upload on

Check MD5 sums on, with bash shell, check the md5 files sum vs files .md5 hashes.

cd ~/public_html/jmeter-2.8RC1/dist/

Copy/paste all lines in one time

LIST=`find . -regex ".*\.zip" -or -regex ".*\.tgz"`
for ARCHIVE in ${LIST} ;
      if test `awk '{ print $1 }' ${ARCHIVE}.md5` = `md5 -q ${ARCHIVE}`; then
          echo MD5 OK; 
          echo MD5 checksum KO; 

Good results are:


cd ~/public_html/jmeter-2.8RC1/
svn export docs

cd $HOME
cp  ~/public_html/jmeter-2.8RC1/dist/apache-jmeter-2.8.tgz $HOME
tar xfz apache-jmeter-2.8.tgz
cd apache-jmeter-2.8/docs/
mv api ~/public_html/jmeter-2.8RC1/docs/api
cd $HOME
rm -r $HOME/apache-jmeter-2.8

After VOTE success

svn copy -m "Vote succeeded, create the 2.8 tag"

Move RC dist files to release

cd ~/public_html/jmeter-2.8RC1/dist

chgrp jmeter apache-jmeter*
chmod g+w apache-jmeter*

cp apache-jmeter-2.8_src* /www/
cp* /www/
cp apache-jmeter-2.8.tgz* /www/

Update Site dist

svn co dist-jmeter

svn commit -m "JMeter 2.8 release - Prepare update site"

cd /www/

svn update

Update JMeter site

svn copy  -m "Create branch docs 2.8" 

cd /www/

svn switch

cd /www/
rm -r /www/
cd ~/public_html/jmeter-2.8RC1/docs
cp -R api /www/
chmod -R g+w /www/

Maven Release


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

svn commit -m "JMeter 2.8 release"

Tidy up