jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Jmeter Wiki] Update of "ReleaseCreation" by Milamber
Date Sun, 30 Sep 2012 12:12:02 GMT
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)
   * 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).
+ 
+ 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)

Mime
View raw message