This page is a brain dump of the various items needed for a release.
Requirements
- a Java JDK in according with target JDK (java 5 for JMeter 2.7)
- a recent ant binary (1.8+)
- subversion (svn) installed
- a text editor
- hostname must resolve to ip address (not loopback)
Preparation
- request Bugzilla version update (on INFRA or if you are JMeter committer, ask for sufficient Bugzilla karma to do this yourself)
- extract files from SVN trunk into a new temporay directory
No Format |
---|
svn co https://svn.apache.org/repos/asf/jmeter/trunk jmeter_trunk
|
No Format |
---|
cd jmeter_trunk/
|
- ensure changes.xml is up to date
- update JMeterVersion.java (version and year), build.xml (version and docversion) and NOTICE (year)
- (src/core/org/apache/jmeter/util/JMeterVersion.java)
- build.xml: section: <property name="jmeter.version" value="2.7"/>
- update xdocs/download_jmeter.xml to the new version
- section: <!ENTITY release '2.7'>
- Download external jars
No Format |
---|
ant download_jars
|
- build site documents, having first cleaned out existing files (so obsolete files will be removed):
Wiki Markup |
\[
...
...
- Commit update version files and docs tree in SVN to prepare next release.
- build code to make a testing binary with this ant task:
No Format |
---|
ant -Djmeter.version=2.7 -Duser.name=username@apache.org distribution
|
- test the new binaries
- GUI and non-GUI using host with graphic capability
- non-GUI only using host with no graphic capability
- ideally test on minimum supported Java and latest Java - especially for GUI
...
- tag all the files with a new RC tag, e.g. v2_57_1_RC2 RC1
- SVN commands (example from jmeter_trunk tree) :
No Format |
---|
svn copy https://svn.apache.org/repos/asf/jmeter/trunk https://svn.apache.org/repos/asf/jmeter/tags/v2_57_1_RC2RC1
|
- 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_57_1_RC3RC2
- 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.
...
No Format |
---|
svn co https://svn.apache.org/repos/asf/jmeter/tags/v2_57_1_RC2RC1 jmeter_v2_57_1_RC2RC1
|
No Format |
---|
cd jmeter_v2_57_1_RC2RC1/
|
- download jars needed to build: "ant download_jars"
...
No Format |
---|
ant distribution -Djmeter.version=2.5.17 -Duser.name=username@apache.org
|
...
No Format |
---|
ant _dist_maven -Djmeter.version=2.5.17
ant sign_dist -Dgpg.keyname=<YOUR_KEY_ID> -Dgpg.secretKeyring=<path to secring.gpg i.e. ~/.gnupg/secring.gpg>
|
...
No Format |
---|
ant maven_upload -Djmeter.version=2.5.17 -DrepoType=releases
|
- Go to Apache Repository
- Section Staging Repositories
- You will receive a email with JMeter Maven Repo URLs
- The main URL must be added to email vote.
- Generate RAT report (example on Linux with Java)
No Format |
---|
java -jar $RAT_HOME/apache-rat-0.8.jar ./apache-jmeter-2.57.1.tgz > rat-report-jmeter-2.57RC1.1RC2.txt
unix2dos rat-report-jmeter-2.5.1RC27RC1.txt
|
Vote on release
- Login to people.apache.org in SSH
- Create temporary location to receive dist files
No Format |
---|
mkdir -p ~/JMETER_2_57_1_RC2RC1/dist/
|
- From your computer, upload dist files and RAT report to the temporary location (e.g. personal dir: ~/JMETER_2_57_1_RC2RC1/dist/) in people.apache.org
- Return to people.apache.org
- Preparation RC publishing
No Format |
---|
mkdir -p ~/public_html/jmeter-2.5.1RC27RC1/dist/
|
- copy archives, sigs and hashes to dist
No Format |
---|
cp ~/JMETER_2_57_1_RC2RC1/dist/* ~/public_html/jmeter-2.5.1RC27RC1/dist/
|
- check hashes (before / after uploads)
No Format |
---|
cd ~/public_html/jmeter-2.5.1RC27RC1/
svn co https://svn.apache.org/repos/asf/jmeter/tags/v2_57_1_RC2RC1/docs docs
|
- Extract Javadocs:
unzip -x jmeter-m.n.o.zip '*/docs/api/*'
and move to docs/api
No Format |
---|
cd $HOME
cp ~/public_html/jmeter-2.5.1RC27RC1/dist/apache-jmeter-2.5.17.tgz $HOME
tar xfz apache-jmeter-2.57.1.tgz
cd apache-jmeter-2.5.17/docs/
mv api ~/public_html/jmeter-2.5.1RC27RC1/docs/api
rm -r $HOME/apache-jmeter-2.5.17
|
Wiki Markup |
---|
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
- If at least 3 PMC votes, then continue
...
No Format |
---|
svn copy https://svn.apache.org/repos/asf/jmeter/tags/v2_57_1_RC2RC1 https://svn.apache.org/repos/asf/jmeter/tags/v2_5_17
|
Move RC dist files to release
...
No Format |
---|
cd ~/public_html/jmeter-2.5.1RC27RC1/dist
|
- Make sure that file group is set to jmeter (chgrp jmeter apache-jmeter*)
...
No Format |
---|
cp apache-jmeter-2.5.17_src* /www/www.apache.org/dist/jmeter/source
cp apache-jmeter-2.5.17.zip* /www/www.apache.org/dist/jmeter/binaries
cp apache-jmeter-2.57.1.tgz* /www/www.apache.org/dist/jmeter/binaries
|
...
No Format |
---|
svn switch http://svn.apache.org/repos/asf/jmeter/branches/docs-2.5.17/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
No Format |
---|
cd /www/jmeter.apache.org/
rm -r /www/jmeter.apache.org/api
cd ~/public_html/jmeter-2.5.1RC27RC1/docs
cp -R api /www/jmeter.apache.org
chmod -R g+w /www/jmeter.apache.org/api
|
...