You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jmeter.apache.org by sebb <se...@gmail.com> on 2012/10/01 00:25:46 UTC

Re: [Jmeter Wiki] Update of "ReleaseCreation" by Milamber

On 30 September 2012 13:12, Apache Wiki <wi...@apache.org> wrote:
> Dear Wiki user,
>
> You have subscribed to a wiki page or wiki category on "Jmeter Wiki" for change notification.
>
> The "ReleaseCreation" page has been changed by Milamber:
> http://wiki.apache.org/jmeter/ReleaseCreation?action=diff&rev1=48&rev2=49
>
>
>    '''DRAFT'''
>   = Requirements =
> -  * a Java JDK in according with target JDK (java 5 for JMeter 2.7)
> +  * a Java JDK in according with target JDK (java 5 for JMeter 2.8)

BTW, it's not necessary to update the page for every release ...

>    * a recent ant binary (1.8+)
>    * subversion (svn) installed
>    * a text editor
>    * hostname must resolve to ip address (not loopback)
> +  * Internet access
>
>   = Preparation =
>    * request Bugzilla version update (on [[https://issues.apache.org/jira/browse/INFRA|INFRA]] or if you are JMeter committer, ask for sufficient Bugzilla karma to do this yourself)
>    * ensure changes.xml is up to date. If necessary, commit after update.
>    * ensure unit tests pass
>    * do not update the version in build.xml yet; trunk should remain a SNAPSHOT
> -  * check out SVN trunk into a clean workspace, for example (assuming current trunk is 2.7-SNAPSHOT in preparation for releasing 2.7):
> +  * check out SVN trunk into a clean workspace, for example (assuming current trunk is 2.8-SNAPSHOT in preparation for releasing 2.8):
>   {{{
> - svn co https://svn.apache.org/repos/asf/jmeter/trunk jmeter_v2_7_RC3
> + svn co https://svn.apache.org/repos/asf/jmeter/trunk jmeter_v2_8_RC1
>   }}}
>    * Move to new workspace:
>   {{{
> - cd jmeter_v2_7_RC3
> + cd jmeter_v2_8_RC1
>   }}}
>    * update the version / year in the new workspace: JMeterVersion.java (version and year) and NOTICE (year)
>     * ./src/core/org/apache/jmeter/util/JMeterVersion.java:
> -     * section: ''private static final String VERSION = "2.7";''
> +     * section: ''private static final String VERSION = "2.8";''
>       * section: ''private static final String COPYRIGHT = "Copyright (c) 1998-2012 The Apache Software Foundation";''
>     * ./NOTICE:
>       * section: ''Copyright 1998-2012 The Apache Software Foundation''
>    * update xdocs/download_jmeter.xml to the new version
> -   * section: <!ENTITY release '2.7'>
> +   * section: <!ENTITY release '2.8'>
>    * Download external jars
>   {{{
>   ant download_jars
> @@ -40, +41 @@
>
>   {{{
>   ant clean-docs
>   ant docs-site
> - ant docs-api -Djmeter.version=2.7
> + ant docs-api -Djmeter.version=2.8
>   }}}
>    * commit docs changes
>   {{{
> - svn commit -m "Prepare next release 2.7: update docs tree and overview"
> + svn commit -m "Prepare next release 2.8: update docs tree and overview (RC1)"
>   }}}
>    * make a last SVN update to update revision number for your workspace
>   {{{
> @@ -52, +53 @@
>
>   }}}
>    * edit '''now''' the version for build.xml (remove -SNAPSHOT)
>     * ./build.xml:
> -     * section: ''<property name="jmeter.version" value="2.7"/>''
> +     * section: ''<property name="jmeter.version" value="2.8"/>''
> -  * create the new RC tag, e.g. v2_7_RC3 from the workspace
> +  * create the new RC tag, e.g. v2_8_RC1 from the workspace
>   {{{
> - svn copy -m "Tag for pre-release" . https://svn.apache.org/repos/asf/jmeter/tags/v2_7_RC3
> + svn copy -m "Tag for pre-release" . https://svn.apache.org/repos/asf/jmeter/tags/v2_8_RC1
>   }}}
>     * this will create the tag from the contents of the workspace. Only the updated files will be shown in the commit message; most files will be shown as being copied from trunk.
>      * 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_7_RC3
> +      * If there is a problem with the contents of an RC tag, create a new tag, for example v2_8_RC1
>        * 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.
>    * Switch to the new tag
>   {{{
> - svn switch https://svn.apache.org/repos/asf/jmeter/tags/v2_7_RC3
> + svn switch https://svn.apache.org/repos/asf/jmeter/tags/v2_8_RC1
>   }}}
>    * build code to make a testing binary with this ant task:
>   {{{
> - ant -Djmeter.version=2.7 -Duser.name=username@apache.org distribution
> + ant -Djmeter.version=2.8 -Duser.name=milamber@apache.org distribution
>   }}}
>    * test the new binaries (move/extract binaries in a temporary directory outside the workspace)
>      * GUI and non-GUI using host with graphic capability
> @@ -77, +78 @@
>
>      * ideally test on minimum supported Java and latest Java - especially for GUI
>
>   = Generate Release =
> -  * If tests are ok, from the workspace jmeter_v2_7_RC3
> +  * If tests are ok, from the workspace jmeter_v2_8_RC1
>
>     * (no need to fetch the tag again, as we already have a clean workspace)
>    * sign distribution files and maven files via ant tasks:
>   {{{
> - ant _dist_maven -Djmeter.version=2.7
> + ant _dist_maven -Djmeter.version=2.8
> - ant sign_dist -Dgpg.keyname=<YOUR_KEY_ID> -Dgpg.secretKeyring=<path to secring.gpg i.e. ~/.gnupg/secring.gpg>
> + ant sign_dist -Dgpg.keyname=0612B399 -Dgpg.secretKeyring=~/.gnupg/secring.gpg
>   }}}
>    * Upload to Maven repository:
>   {{{
> - ant maven_upload -Djmeter.version=2.7 -DrepoType=releases
> + ant maven_upload -Djmeter.version=2.8 -DrepoType=releases
>   }}}
>    * Go to [[https://repository.apache.org/|Apache Repository]]
>      * Section '''Staging Repositories'''
> @@ -97, +98 @@
>
>    * Generate [[http://incubator.apache.org/rat/|RAT]] report (example on Linux with Java)
>   {{{
>   cd dist/
> - java -jar $RAT_HOME/apache-rat-0.8.jar ./apache-jmeter-2.7.tgz > rat-report-jmeter-2.7RC3.txt
> + 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.7RC3.txt
> + unix2dos rat-report-jmeter-2.8RC1.txt
>   }}}
>
>   = Checks to do before send vote email =
> -  * to do: add some checks (zip/tgz binary files vs src files, etc.)
>    * review RAT report
> +  * to do: add some checks (zip/tgz binary files vs src files, SVN tree vs SRC files, etc.)
> +
> + == Check: JMeter SVN tree vs JMeter archive sources ==
> + For JMeter sources, need a Linux box, SVN (apache) and GIT (local).

This seems rather complicated.
Surely it's only necessary to checkout the tag and expand the archive,
and then use diff on them?

> +
> + Export the RC tags to a temporay directory.
> + {{{
> + cd /tmp
> + svn export http://svn.apache.org/repos/asf/jmeter/tags/v2_8_RC1 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 =
>
>    * Login to people.apache.org in SSH
>    * Create temporary location to receive dist files
>   {{{
> - mkdir -p ~/jmeter_v2_7_RC3/dist/
> + mkdir -p ~/jmeter_v2_8_RC1/dist/
>   }}}
>
> -  * '''From your computer''', upload dist files and RAT report to the temporary location (e.g. personal dir: ~/jmeter_v2_7_RC3/dist/) in people.apache.org
> +  * '''From your computer''', upload dist files and RAT report to the temporary location (e.g. personal dir: ~/jmeter_v2_8_RC1/dist/) in people.apache.org
> + 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/
>
>    * Return to people.apache.org
>    * Preparation RC publishing
>   {{{
> - mkdir -p ~/public_html/jmeter-2.7RC3/dist/
> + mkdir -p ~/public_html/jmeter-2.8RC1/dist/
>   }}}
>    * copy archives, sigs and hashes to dist
>   {{{
> - cp ~/jmeter_v2_7_RC3/dist/* ~/public_html/jmeter-2.7RC3/dist/
> + cp ~/jmeter_v2_8_RC1/dist/* ~/public_html/jmeter-2.8RC1/dist/
>   }}}
>
>    * check hashes (before / after uploads)
>
> + == 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 *apache-jmeter-2.8_src.zip
> + 9a1740e7828a4d25e439934974672b8b *apache-jmeter-2.8.tgz
> + b5283a2099fe4186f8978a3ccfb4e8d6 *apache-jmeter-2.8_src.tgz
> + ca70cf7fdf8b98ded1dc0494bdc9de14 *apache-jmeter-2.8.zip
> + }}}
> + == After upload on people.apache.org ==
> + Check MD5 sums on people.apache.org, 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} ;
> + do
> +       if test `awk '{ print $1 }' ${ARCHIVE}.md5` = `md5 -q ${ARCHIVE}`; then
> +           echo MD5 OK;
> +       else
> +           echo MD5 checksum KO;
> +       fi;
> + done
> + }}}
> + Good results are:
> + {{{
> + MD5 OK
> + MD5 OK
> + MD5 OK
> + MD5 OK
> + }}}
> +
> -   * Install the site docs:
> +  * Install the site docs:
>   {{{
> - cd ~/public_html/jmeter-2.7RC3/
> + cd ~/public_html/jmeter-2.8RC1/
> - svn co https://svn.apache.org/repos/asf/jmeter/tags/v2_7_RC3/docs docs
> + svn export https://svn.apache.org/repos/asf/jmeter/tags/v2_8_RC1/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.7RC3/dist/apache-jmeter-2.7.tgz $HOME
> + cp  ~/public_html/jmeter-2.8RC1/dist/apache-jmeter-2.8.tgz $HOME
> - tar xfz apache-jmeter-2.7.tgz
> + tar xfz apache-jmeter-2.8.tgz
> - cd apache-jmeter-2.7/docs/
> + cd apache-jmeter-2.8/docs/
> - mv api ~/public_html/jmeter-2.7RC3/docs/api
> + mv api ~/public_html/jmeter-2.8RC1/docs/api
>   cd $HOME
> - rm -r $HOME/apache-jmeter-2.7
> + rm -r $HOME/apache-jmeter-2.8
>   }}}
>    * 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
> @@ -151, +237 @@
>
>    * 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_7_RC3 https://svn.apache.org/repos/asf/jmeter/tags/v2_7
> + svn copy https://svn.apache.org/repos/asf/jmeter/tags/v2_8_RC1 https://svn.apache.org/repos/asf/jmeter/tags/v2_8 -m "Vote succeeded, create the 2.8 tag"
>   }}}
>
>   = 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.7RC3/dist
> + cd ~/public_html/jmeter-2.8RC1/dist
>   }}}
>    * Make sure that file group is set to jmeter (chgrp jmeter apache-jmeter*)
>   {{{
> @@ -167, +253 @@
>
>   }}}
>    * copy archives to /www/www.apache.org/dist/jmeter/binaries and /www/www.apache.org/dist/jmeter/source as appropriate
>   {{{
> - cp apache-jmeter-2.7_src* /www/www.apache.org/dist/jmeter/source
> + cp apache-jmeter-2.8_src* /www/www.apache.org/dist/jmeter/source
> - cp apache-jmeter-2.7.zip* /www/www.apache.org/dist/jmeter/binaries
> + cp apache-jmeter-2.8.zip* /www/www.apache.org/dist/jmeter/binaries
> - cp apache-jmeter-2.7.tgz* /www/www.apache.org/dist/jmeter/binaries
> + cp apache-jmeter-2.8.tgz* /www/www.apache.org/dist/jmeter/binaries
>   }}}
>    * check files are visible and downloadable from www.apache.org (2+ hours)
>     * http://www.apache.org/dist/jmeter/binaries/
>     * http://www.apache.org/dist/jmeter/source/
>
> -  * wait a day or so for mirrors to catch up
> +  * '''wait a day''' or so for mirrors to catch up
> +
> +
> +
>
>   = Update Site dist =
>    * Checkout dist project on your computer
> @@ -186, +275 @@
>
>      * Optional, add your GPG public key to KEYS
>      * Commit with svn
>   {{{
> - svn commit
> + svn commit -m "JMeter 2.8 release - Prepare update site"
>   }}}
>    * Login to people.apache.org in SSH
>      * Go to dist dir:
> @@ -199, +288 @@
>
>   }}}
>
>   = Update JMeter site =
> +
> + {{{
> + svn copy https://svn.apache.org/repos/asf/jmeter/tags/v2_8 https://svn.apache.org/repos/asf/jmeter/branches/docs-2.8  -m "Create branch docs 2.8"
> + }}}
>
>    * login to people.apache.org
>    * Go to:
> @@ -209, +302 @@
>
>     * `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.7/docs
> + svn switch http://svn.apache.org/repos/asf/jmeter/branches/docs-2.8/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)
> @@ -218, +311 @@
>
>   {{{
>   cd /www/jmeter.apache.org/
>   rm -r /www/jmeter.apache.org/api
> - cd ~/public_html/jmeter-2.7RC3/docs
> + cd ~/public_html/jmeter-2.8RC1/docs
>   cp -R api /www/jmeter.apache.org
>   chmod -R g+w /www/jmeter.apache.org/api
>   }}}
> @@ -228, +321 @@
>
>    * Go to [[https://repository.apache.org/|Apache Repository]]
>    * Section '''Staging Repositories'''
>      * Check the RC box, add click on Release button (see: [[https://docs.sonatype.org/display/Repository/Releasing+a+Staging+Repository|Release a staging repository]])
> +    * Comment: "JMeter 2.8 release"
>    * You will receive a email with JMeter Maven Repo URLs
>       * The main URL can be added to email announce
>
> @@ -236, +330 @@
>
>   '''Make sure: JMeter website is update AND download mirrors too.'''
>    * update Wiki version details
>    * update doap_JMeter.rdf details in trunk and commit
> +    *
> + {{{
> + svn commit -m "JMeter 2.8 release"
> + }}}
>    * 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)

Re: [Jmeter Wiki] Update of "ReleaseCreation" by Milamber

Posted by Milamber <mi...@apache.org>.

Le 30/09/2012 22:25, sebb a ecrit :
> On 30 September 2012 13:12, Apache Wiki<wi...@apache.org>  wrote:
>> Dear Wiki user,
>>
>> You have subscribed to a wiki page or wiki category on "Jmeter Wiki" for change notification.
>>
>> The "ReleaseCreation" page has been changed by Milamber:
>> http://wiki.apache.org/jmeter/ReleaseCreation?action=diff&rev1=48&rev2=49
>>
>>
>>     '''DRAFT'''
>>    = Requirements =
>> -  * a Java JDK in according with target JDK (java 5 for JMeter 2.7)
>> +  * a Java JDK in according with target JDK (java 5 for JMeter 2.8)
> BTW, it's not necessary to update the page for every release ...
>
>>     * a recent ant binary (1.8+)
>>     * subversion (svn) installed
>>     * a text editor
>>     * hostname must resolve to ip address (not loopback)
>> +  * Internet access
>>
>>    = Preparation =
>>     * request Bugzilla version update (on [[https://issues.apache.org/jira/browse/INFRA|INFRA]] or if you are JMeter committer, ask for sufficient Bugzilla karma to do this yourself)
>>     * ensure changes.xml is up to date. If necessary, commit after update.
>>     * ensure unit tests pass
>>     * do not update the version in build.xml yet; trunk should remain a SNAPSHOT
>> -  * check out SVN trunk into a clean workspace, for example (assuming current trunk is 2.7-SNAPSHOT in preparation for releasing 2.7):
>> +  * check out SVN trunk into a clean workspace, for example (assuming current trunk is 2.8-SNAPSHOT in preparation for releasing 2.8):
>>    {{{
>> - svn co https://svn.apache.org/repos/asf/jmeter/trunk jmeter_v2_7_RC3
>> + svn co https://svn.apache.org/repos/asf/jmeter/trunk jmeter_v2_8_RC1
>>    }}}
>>     * Move to new workspace:
>>    {{{
>> - cd jmeter_v2_7_RC3
>> + cd jmeter_v2_8_RC1
>>    }}}
>>     * update the version / year in the new workspace: JMeterVersion.java (version and year) and NOTICE (year)
>>      * ./src/core/org/apache/jmeter/util/JMeterVersion.java:
>> -     * section: ''private static final String VERSION = "2.7";''
>> +     * section: ''private static final String VERSION = "2.8";''
>>        * section: ''private static final String COPYRIGHT = "Copyright (c) 1998-2012 The Apache Software Foundation";''
>>      * ./NOTICE:
>>        * section: ''Copyright 1998-2012 The Apache Software Foundation''
>>     * update xdocs/download_jmeter.xml to the new version
>> -   * section:<!ENTITY release '2.7'>
>> +   * section:<!ENTITY release '2.8'>
>>     * Download external jars
>>    {{{
>>    ant download_jars
>> @@ -40, +41 @@
>>
>>    {{{
>>    ant clean-docs
>>    ant docs-site
>> - ant docs-api -Djmeter.version=2.7
>> + ant docs-api -Djmeter.version=2.8
>>    }}}
>>     * commit docs changes
>>    {{{
>> - svn commit -m "Prepare next release 2.7: update docs tree and overview"
>> + svn commit -m "Prepare next release 2.8: update docs tree and overview (RC1)"
>>    }}}
>>     * make a last SVN update to update revision number for your workspace
>>    {{{
>> @@ -52, +53 @@
>>
>>    }}}
>>     * edit '''now''' the version for build.xml (remove -SNAPSHOT)
>>      * ./build.xml:
>> -     * section: ''<property name="jmeter.version" value="2.7"/>''
>> +     * section: ''<property name="jmeter.version" value="2.8"/>''
>> -  * create the new RC tag, e.g. v2_7_RC3 from the workspace
>> +  * create the new RC tag, e.g. v2_8_RC1 from the workspace
>>    {{{
>> - svn copy -m "Tag for pre-release" . https://svn.apache.org/repos/asf/jmeter/tags/v2_7_RC3
>> + svn copy -m "Tag for pre-release" . https://svn.apache.org/repos/asf/jmeter/tags/v2_8_RC1
>>    }}}
>>      * this will create the tag from the contents of the workspace. Only the updated files will be shown in the commit message; most files will be shown as being copied from trunk.
>>       * 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_7_RC3
>> +      * If there is a problem with the contents of an RC tag, create a new tag, for example v2_8_RC1
>>         * 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.
>>     * Switch to the new tag
>>    {{{
>> - svn switch https://svn.apache.org/repos/asf/jmeter/tags/v2_7_RC3
>> + svn switch https://svn.apache.org/repos/asf/jmeter/tags/v2_8_RC1
>>    }}}
>>     * build code to make a testing binary with this ant task:
>>    {{{
>> - ant -Djmeter.version=2.7 -Duser.name=username@apache.org distribution
>> + ant -Djmeter.version=2.8 -Duser.name=milamber@apache.org distribution
>>    }}}
>>     * test the new binaries (move/extract binaries in a temporary directory outside the workspace)
>>       * GUI and non-GUI using host with graphic capability
>> @@ -77, +78 @@
>>
>>       * ideally test on minimum supported Java and latest Java - especially for GUI
>>
>>    = Generate Release =
>> -  * If tests are ok, from the workspace jmeter_v2_7_RC3
>> +  * If tests are ok, from the workspace jmeter_v2_8_RC1
>>
>>      * (no need to fetch the tag again, as we already have a clean workspace)
>>     * sign distribution files and maven files via ant tasks:
>>    {{{
>> - ant _dist_maven -Djmeter.version=2.7
>> + ant _dist_maven -Djmeter.version=2.8
>> - ant sign_dist -Dgpg.keyname=<YOUR_KEY_ID>  -Dgpg.secretKeyring=<path to secring.gpg i.e. ~/.gnupg/secring.gpg>
>> + ant sign_dist -Dgpg.keyname=0612B399 -Dgpg.secretKeyring=~/.gnupg/secring.gpg
>>    }}}
>>     * Upload to Maven repository:
>>    {{{
>> - ant maven_upload -Djmeter.version=2.7 -DrepoType=releases
>> + ant maven_upload -Djmeter.version=2.8 -DrepoType=releases
>>    }}}
>>     * Go to [[https://repository.apache.org/|Apache Repository]]
>>       * Section '''Staging Repositories'''
>> @@ -97, +98 @@
>>
>>     * Generate [[http://incubator.apache.org/rat/|RAT]] report (example on Linux with Java)
>>    {{{
>>    cd dist/
>> - java -jar $RAT_HOME/apache-rat-0.8.jar ./apache-jmeter-2.7.tgz>  rat-report-jmeter-2.7RC3.txt
>> + 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.7RC3.txt
>> + unix2dos rat-report-jmeter-2.8RC1.txt
>>    }}}
>>
>>    = Checks to do before send vote email =
>> -  * to do: add some checks (zip/tgz binary files vs src files, etc.)
>>     * review RAT report
>> +  * to do: add some checks (zip/tgz binary files vs src files, SVN tree vs SRC files, etc.)
>> +
>> + == Check: JMeter SVN tree vs JMeter archive sources ==
>> + For JMeter sources, need a Linux box, SVN (apache) and GIT (local).
> This seems rather complicated.
> Surely it's only necessary to checkout the tag and expand the archive,
> and then use diff on them?

The diff (tag export vs src.tgz) results is:
$ diff -r jmeter_v2_8_RC1/ apache-jmeter-2.8
Only in jmeter_v2_8_RC1/bin: heapdump.cmd
Only in jmeter_v2_8_RC1/bin: heapdump.sh
Only in jmeter_v2_8_RC1/: doap_JMeter.rdf
Only in jmeter_v2_8_RC1/: docs
Only in jmeter_v2_8_RC1/lib: api
Only in jmeter_v2_8_RC1/lib: doc
Only in jmeter_v2_8_RC1/lib: ext
Only in jmeter_v2_8_RC1/lib: junit
Only in jmeter_v2_8_RC1/: rat-excludes.txt
Only in jmeter_v2_8_RC1/: STATUS

Seems be complementary to the git test. I can add this in wiki page.

The check section in this wiki page can be updated with some simplest 
tests if you know.


>
>> +
>> + Export the RC tags to a temporay directory.
>> + {{{
>> + cd /tmp
>> + svn export http://svn.apache.org/repos/asf/jmeter/tags/v2_8_RC1 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 =
>>
>>     * Login to people.apache.org in SSH
>>     * Create temporary location to receive dist files
>>    {{{
>> - mkdir -p ~/jmeter_v2_7_RC3/dist/
>> + mkdir -p ~/jmeter_v2_8_RC1/dist/
>>    }}}
>>
>> -  * '''From your computer''', upload dist files and RAT report to the temporary location (e.g. personal dir: ~/jmeter_v2_7_RC3/dist/) in people.apache.org
>> +  * '''From your computer''', upload dist files and RAT report to the temporary location (e.g. personal dir: ~/jmeter_v2_8_RC1/dist/) in people.apache.org
>> + 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/
>>
>>     * Return to people.apache.org
>>     * Preparation RC publishing
>>    {{{
>> - mkdir -p ~/public_html/jmeter-2.7RC3/dist/
>> + mkdir -p ~/public_html/jmeter-2.8RC1/dist/
>>    }}}
>>     * copy archives, sigs and hashes to dist
>>    {{{
>> - cp ~/jmeter_v2_7_RC3/dist/* ~/public_html/jmeter-2.7RC3/dist/
>> + cp ~/jmeter_v2_8_RC1/dist/* ~/public_html/jmeter-2.8RC1/dist/
>>    }}}
>>
>>     * check hashes (before / after uploads)
>>
>> + == 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 *apache-jmeter-2.8_src.zip
>> + 9a1740e7828a4d25e439934974672b8b *apache-jmeter-2.8.tgz
>> + b5283a2099fe4186f8978a3ccfb4e8d6 *apache-jmeter-2.8_src.tgz
>> + ca70cf7fdf8b98ded1dc0494bdc9de14 *apache-jmeter-2.8.zip
>> + }}}
>> + == After upload on people.apache.org ==
>> + Check MD5 sums on people.apache.org, 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} ;
>> + do
>> +       if test `awk '{ print $1 }' ${ARCHIVE}.md5` = `md5 -q ${ARCHIVE}`; then
>> +           echo MD5 OK;
>> +       else
>> +           echo MD5 checksum KO;
>> +       fi;
>> + done
>> + }}}
>> + Good results are:
>> + {{{
>> + MD5 OK
>> + MD5 OK
>> + MD5 OK
>> + MD5 OK
>> + }}}
>> +
>> -   * Install the site docs:
>> +  * Install the site docs:
>>    {{{
>> - cd ~/public_html/jmeter-2.7RC3/
>> + cd ~/public_html/jmeter-2.8RC1/
>> - svn co https://svn.apache.org/repos/asf/jmeter/tags/v2_7_RC3/docs docs
>> + svn export https://svn.apache.org/repos/asf/jmeter/tags/v2_8_RC1/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.7RC3/dist/apache-jmeter-2.7.tgz $HOME
>> + cp  ~/public_html/jmeter-2.8RC1/dist/apache-jmeter-2.8.tgz $HOME
>> - tar xfz apache-jmeter-2.7.tgz
>> + tar xfz apache-jmeter-2.8.tgz
>> - cd apache-jmeter-2.7/docs/
>> + cd apache-jmeter-2.8/docs/
>> - mv api ~/public_html/jmeter-2.7RC3/docs/api
>> + mv api ~/public_html/jmeter-2.8RC1/docs/api
>>    cd $HOME
>> - rm -r $HOME/apache-jmeter-2.7
>> + rm -r $HOME/apache-jmeter-2.8
>>    }}}
>>     * 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
>> @@ -151, +237 @@
>>
>>     * 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_7_RC3 https://svn.apache.org/repos/asf/jmeter/tags/v2_7
>> + svn copy https://svn.apache.org/repos/asf/jmeter/tags/v2_8_RC1 https://svn.apache.org/repos/asf/jmeter/tags/v2_8 -m "Vote succeeded, create the 2.8 tag"
>>    }}}
>>
>>    = 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.7RC3/dist
>> + cd ~/public_html/jmeter-2.8RC1/dist
>>    }}}
>>     * Make sure that file group is set to jmeter (chgrp jmeter apache-jmeter*)
>>    {{{
>> @@ -167, +253 @@
>>
>>    }}}
>>     * copy archives to /www/www.apache.org/dist/jmeter/binaries and /www/www.apache.org/dist/jmeter/source as appropriate
>>    {{{
>> - cp apache-jmeter-2.7_src* /www/www.apache.org/dist/jmeter/source
>> + cp apache-jmeter-2.8_src* /www/www.apache.org/dist/jmeter/source
>> - cp apache-jmeter-2.7.zip* /www/www.apache.org/dist/jmeter/binaries
>> + cp apache-jmeter-2.8.zip* /www/www.apache.org/dist/jmeter/binaries
>> - cp apache-jmeter-2.7.tgz* /www/www.apache.org/dist/jmeter/binaries
>> + cp apache-jmeter-2.8.tgz* /www/www.apache.org/dist/jmeter/binaries
>>    }}}
>>     * check files are visible and downloadable from www.apache.org (2+ hours)
>>      * http://www.apache.org/dist/jmeter/binaries/
>>      * http://www.apache.org/dist/jmeter/source/
>>
>> -  * wait a day or so for mirrors to catch up
>> +  * '''wait a day''' or so for mirrors to catch up
>> +
>> +
>> +
>>
>>    = Update Site dist =
>>     * Checkout dist project on your computer
>> @@ -186, +275 @@
>>
>>       * Optional, add your GPG public key to KEYS
>>       * Commit with svn
>>    {{{
>> - svn commit
>> + svn commit -m "JMeter 2.8 release - Prepare update site"
>>    }}}
>>     * Login to people.apache.org in SSH
>>       * Go to dist dir:
>> @@ -199, +288 @@
>>
>>    }}}
>>
>>    = Update JMeter site =
>> +
>> + {{{
>> + svn copy https://svn.apache.org/repos/asf/jmeter/tags/v2_8 https://svn.apache.org/repos/asf/jmeter/branches/docs-2.8  -m "Create branch docs 2.8"
>> + }}}
>>
>>     * login to people.apache.org
>>     * Go to:
>> @@ -209, +302 @@
>>
>>      * `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.7/docs
>> + svn switch http://svn.apache.org/repos/asf/jmeter/branches/docs-2.8/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)
>> @@ -218, +311 @@
>>
>>    {{{
>>    cd /www/jmeter.apache.org/
>>    rm -r /www/jmeter.apache.org/api
>> - cd ~/public_html/jmeter-2.7RC3/docs
>> + cd ~/public_html/jmeter-2.8RC1/docs
>>    cp -R api /www/jmeter.apache.org
>>    chmod -R g+w /www/jmeter.apache.org/api
>>    }}}
>> @@ -228, +321 @@
>>
>>     * Go to [[https://repository.apache.org/|Apache Repository]]
>>     * Section '''Staging Repositories'''
>>       * Check the RC box, add click on Release button (see: [[https://docs.sonatype.org/display/Repository/Releasing+a+Staging+Repository|Release a staging repository]])
>> +    * Comment: "JMeter 2.8 release"
>>     * You will receive a email with JMeter Maven Repo URLs
>>        * The main URL can be added to email announce
>>
>> @@ -236, +330 @@
>>
>>    '''Make sure: JMeter website is update AND download mirrors too.'''
>>     * update Wiki version details
>>     * update doap_JMeter.rdf details in trunk and commit
>> +    *
>> + {{{
>> + svn commit -m "JMeter 2.8 release"
>> + }}}
>>     * 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)