This page is a brain dump of the various items needed for a release.
DRAFT
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)
...
- request Bugzilla version update (on 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.
- extract files from SVN trunk up to date (except versions) into a new temporay directory/workspace
No Format |
---|
svn co https://svn.apache.org/repos/asf/jmeter/trunk jmeter_trunk
|
- Move to new directoryworkspace:
No Format |
---|
cd jmeter_trunk/
|
- ensure changes.xml is up to date
- update update version on new workspace: JMeterVersion.java (version and year), build.xml (version) 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 clean-docs
ant docs-site
|
- 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
Generate Release
- tag all the workspace's files with a new RC tag, e.g. v2_7_RC1
- SVN commands (example from jmeter_trunk tree) :(Problem to fix: update overview.html is make by the ant distribution task)
No Format |
---|
svn copy https://svn.apache.org/repos/asf/jmeter/trunk https://svn.apache.org/repos/asf/jmeter/tags/v2_7_RC1
|
- 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_RC2
- 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.
- 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
Generate Release
- extract files from SVN using the RC tag into a new directory tree
...
No Format |
---|
java -jar $RAT_HOME/apache-rat-0.8.jar ./apache-jmeter-2.7.tgz > rat-report-jmeter-2.7RC1.txt
unix2dos rat-report-jmeter-2.7RC1.txt
|
Checks to do before send vote email
- to do: add some checks (zip/tgz binary files vs src files, etc.)
Vote on release
- Login to people.apache.org in SSH
- Create temporary location to receive dist files
...