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=38&rev2=39 This page is a brain dump of the various items needed for a release. It needs some work... = Preparation = - * request Bugzilla version update (on https://issues.apache.org/jira/browse/INFRA or if you are JMeter committer, ask for sufficient Bugzilla karma to do this yourself) + * 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 * update JMeter``Version.java (version and year), build.xml (version and docversion) and NOTICE (year) * update xdocs/download_jmeter.xml to the new version @@ -17, +17 @@ * ideally test on minimum supported Java and latest Java - especially for GUI = Generate Release = - * tag all the files with a new RC tag, e.g. v2_5_1_RC1 + * tag all the files with a new RC tag, e.g. v2_5_1_RC2 + * SVN commands (example) : + {{{ + svn copy https://svn.apache.org/repos/asf/jmeter/trunk https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2 + }}} * 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_5_1_RC2 + * If there is a problem with the contents of an RC tag, create a new tag, for example v2_5_1_RC3 * 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. * extract files from SVN using the tag into a new directory tree + {{{ + svn co https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2 jmeter_v2_5_1_RC2 + }}} + * Move to new directory: + {{{ + cd jmeter_v2_5_1_RC2/ + }}} * download jars needed to build: "ant download_jars" + {{{ + ant download_jars + }}} * create distribution files: - * ant distribution -lib=<libextra> -Djmeter.version=m.n -Duser.name=user-AT-apache.org + * Distribution ant task: ant distribution -lib=<libextra> -Djmeter.version=m.n -Duser.name=user-AT-apache.org - * sign distribution files (gpg -ba file) - * ex. gpg2 -u <id_key> -ba apache-jmeter-2.5.1_src.tgz - * ex. gpg2 -u <id_key> -ba apache-jmeter-2.5.1_src.zip - * ex. gpg2 -u <id_key> -ba apache-jmeter-2.5.1.tgz - * ex. gpg2 -u <id_key> -ba apache-jmeter-2.5.1.zip - * Generate RAT report (example on Linux with Java) + {{{ + ant distribution -Djmeter.version=2.5.1 -Duser.name=usern...@apache.org + }}} + * sign distribution files and maven files via ant tasks: + {{{ + ant _dist_maven -Djmeter.version=2.5.1 + ant sign_dist -Dgpg.keyname=<YOUR_KEY_ID> -Dgpg.secretKeyring=<path to secring.gpg i.e. ~/.gnupg/secring.gpg> + }}} + * Upload to Maven repository: + {{{ + ant maven_upload -Djmeter.version=2.5.1 -DrepoType=releases + }}} + * Go to [[https://repository.apache.org/|Apache Repository]] + * Section '''Staging Repositories''' + * Check the RC box, add click on Close button (see [[https://docs.sonatype.org/display/Repository/Closing+a+Staging+Repository|Closing a staging repository]]) + * You will receive a email with JMeter Maven Repo URLs + * The main URL must be added to email vote. + + * Generate [[http://incubator.apache.org/rat/|RAT]] report (example on Linux with Java) + {{{ - * java -jar $RAT_HOME/apache-rat-0.7.jar ./apache-jmeter-2.5.1.tgz > rat-report-jmeter-2.5.1RC1.txt + java -jar $RAT_HOME/apache-rat-0.8.jar ./apache-jmeter-2.5.1.tgz > rat-report-jmeter-2.5.1RC2.txt + unix2dos rat-report-jmeter-2.5.1RC2.txt + }}} + = Vote on release = - * upload to temporary location (e.g. personal dir) - * cd public_html ; mkdir jmeter-m.n - * cd jmeter-m.n - * mkdir dist + * Login to people.apache.org in SSH + * Create temporary location to receive dist files + {{{ + mkdir -p ~/JMETER_2_5_1_RC2/dist/ + }}} + + * '''From your computer''', upload dist files and RAT report to the temporary location (e.g. personal dir: ~/JMETER_2_5_1_RC2/dist/) in people.apache.org + + * Return to people.apache.org + * Preparation RC publishing + {{{ + mkdir -p ~/public_html/jmeter-2.5.1RC2/dist/ + }}} - * copy archives, sigs and hashes to dist + * copy archives, sigs and hashes to dist + {{{ + cp ~/JMETER_2_5_1_RC2/dist/* ~/public_html/jmeter-2.5.1RC2/dist/ + }}} + - * check hashes (before / after uploads) + * check hashes (before / after uploads) - * Install the site docs: `svn co http://svn.apache.org/repos/asf/jmeter/tags/vm_nxx/docs` + + * Install the site docs: + {{{ + cd ~/public_html/jmeter-2.5.1RC2/ + svn co https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2/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.5.1RC2/dist/apache-jmeter-2.5.1.tgz $HOME + tar xfz apache-jmeter-2.5.1.tgz + cd apache-jmeter-2.5.1/docs/ + mv api ~/public_html/jmeter-2.5.1RC2/docs/api + rm -r $HOME/apache-jmeter-2.5.1 + }}} * send round [VOTE] e-mail to dev - * Wait for any feedback; address any issues raised, if necessary by creating another release tag + * Wait for any feedback (at least 72 hours); address any issues raised, if necessary by creating another release tag * If at least 3 PMC votes, then continue + + = After VOTE success = * 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_5_1_RC2 https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1 + }}} - = Upload files = - + = 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.5.1RC2/dist + }}} * Make sure that file group is set to jmeter (chgrp jmeter apache-jmeter*) + {{{ + chgrp jmeter apache-jmeter* + chmod g+w apache-jmeter* + }}} * copy archives to /www/www.apache.org/dist/jmeter/binaries and /www/www.apache.org/dist/jmeter/source as appropriate + {{{ + cp apache-jmeter-2.5.1_src* /www/www.apache.org/dist/jmeter/source + cp apache-jmeter-2.5.1.zip* /www/www.apache.org/dist/jmeter/binaries + cp apache-jmeter-2.5.1.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 + = Update Site dist = + * Checkout dist project on your computer + {{{ + svn co https://svn.apache.org/repos/asf/jmeter/dist dist-jmeter + }}} + * Edit HEADER.html to modifiy with new version number + * Optional, add your GPG public key to KEYS + * Commit with svn + {{{ + svn commit + }}} + * Login to people.apache.org in SSH + * Go to dist dir: + {{{ + cd /www/www.apache.org/dist/jmeter + }}} + * Execute a svn update + {{{ + svn update + }}} + = Update JMeter site = * login to people.apache.org + * Go to: + {{{ - * cd /www/jmeter.apache.org/ + cd /www/jmeter.apache.org/ + }}} * fetch site from SVN: * `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.5.1/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) * The Javadocs are not in SVN so these need to be copied from the staging area + * Example: + {{{ + cd /www/jmeter.apache.org/ + rm -r /www/jmeter.apache.org/api + cd ~/public_html/jmeter-2.5.1RC2/docs + cp -R api /www/jmeter.apache.org + chmod -R g+w /www/jmeter.apache.org/api + }}} * N.B. wait for few hours so site updates catch up + = Maven Release = + * 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]]) + * You will receive a email with JMeter Maven Repo URLs + * The main URL can be added to email announce + = Announce = + '''Make sure: JMeter website is update AND download mirrors too.''' * update Wiki version details - * update doap_JMeter.rdf details in trunk + * update doap_JMeter.rdf details in trunk and commit * 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) * N.B. to track bounces and unsubscribes, it may be a good idea to use a separate mail to Announce