...
- a Java JDK in according with target JDK (Java 8 for JMeter 35.20)
- a recent Ant binary (1.910.35+)
- subversion (svn) client installed (version 1.9+); the command-line utility svnmucc is needed (it should be included in the svn client installation (svn-tools dir), but please check)
- a text editor
- hostname must resolve to ip address (not loopback)
- Internet access
...
- 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.
- 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 35.20-SNAPSHOT in preparation for releasing 35.20):
No Format |
---|
svn co https://svn.apache.org/repos/asf/jmeter/trunk jmeter_v3v5_20_RC1 |
- Move to the new workspace:
No Format |
---|
cd jmeter_v3v5_20_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 = "35.20";
- section: private static final String COPYRIGHT = "Copyright (c) 1998-2016 2019 The Apache Software Foundation";
- ./NOTICE:
- section: Copyright 1998-2016 2019 The Apache Software Foundation
- ./src/core/org/apache/jmeter/util/JMeterVersion.java:
- update xdocs/download_jmeter.xml to the new version
- section: <!ENTITY release '35.20'>
- Download external jars
No Format |
---|
ant download_jars |
...
No Format |
---|
ant clean-docs ant docs-site ant docs-api -Djmeter.version=35.20 |
- check if you need to add some new files or remove some deleted files from docs directory (using svn status command)
...
No Format |
---|
svn commit -m "Prepare next release 35.20: update docs tree and overview (RC1)" |
...
- edit now the version for build.xml (remove -SNAPSHOT)
- ./build.xml:
- section: <property name="jmeter.version" value="35.20"/>
- ./build.xml:
- create the new RC tag, e.g. v3v5_20_RC1 from the workspace
No Format |
---|
svn copy -m "Tag for pre-release" . https://svn.apache.org/repos/asf/jmeter/tags/v3v5_20_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 v3_2_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.
- 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.
...
No Format |
---|
ant -Djmeter.version=35.20 -Duser.name=milamber@apache.org distribution |
...
No Format |
---|
ant _dist_maven -Djmeter.version=35.20 ant sign_dist -Dgpg.keyname=0612B399 -Dgpg.secretKeyring=~/.gnupg/secring.gpg |
...
No Format |
---|
ant maven_upload -Djmeter.version=35.20 -DrepoType=releases |
- Go to Apache Repository
- Section Staging Repositories
- Check the RC box, add click on Close button (see Closing a staging repository)
- You will receive a email with JMeter Maven Repo URLs
- The main URL must be added to email vote.
- The main URL must be added to email vote.
- Section Staging Repositories
- Generate RAT report (example on Linux with Java)
No Format |
---|
cd dist/ java -jar $RAT_HOME/apache-rat-0.12.jar ./apache-jmeter-35.20.tgz > rat-report-jmeter-35.2RC10RC1.txt unix2dos rat-report-jmeter-35.2RC10RC1.txt |
Upload release artifacts to staging directory
...
No Format |
---|
svn cp -m"Create docs branch" https://svn.apache.org/repos/asf/jmeter/tags/v3_2_RC1 https://svn.apache.org/repos/asf/jmeter/branches/docs-35.20/ |
The Javadocs are not yet part of SVN at this point. For simplicity when reviewing the release candidate, they should be added to the docs branch here:
No Format |
---|
svn import -m "Add Javadocs" docs/api https://svn.apache.org/repos/asf/jmeter/branches/docs-35.20/docs/api |
It would be possible to add them directly to the live SVN directory later, but they need to be available for review, so it's easiest to create the branches/docs-m.n/docs tree as an exact copy of what will be released.
...
No Format |
---|
svn copy https://svn.apache.org/repos/asf/jmeter/tags/v3v5_20_RC1 https://svn.apache.org/repos/asf/jmeter/tags/v3v5_20 -m "Vote succeeded, create the 35.20 tag" |
Move RC dist files to release
...
No Format |
---|
svn co --depth files https://dist.apache.org/repos/dist/release/jmeter/ dist-jmeter |
- Edit HEADER.html to modifiy modify with new version number
- If necessary, add your GPG public key to KEYS
- If necessary, update the META file with your GPG key id (if you act as the release manager for the first time. Please visit https://checker.apache.org/doc/README.html )
- The META file needs to be signed by the PMC Chair of project with this command:
...
No Format |
---|
svn commit -m "JMeter 35.20 release - Prepare update site" dist-jmeter |
...
- Go to Apache Repository
- Section Staging Repositories
- Check the RC box, add click on Release button (see: Release a staging repository)
- Comment: "JMeter 35.2 0 release"
- Maven Central will catch up the new release in next sync (check: ga)
...
No Format |
---|
svn commit -m "JMeter 35.20 release" |
Publish JMeter site
...
No Format |
---|
rm https://svn.apache.org/repos/asf/jmeter/site cp HEAD https://svn.apache.org/repos/asf/jmeter/branches/docs-35.20/docs https://svn.apache.org/repos/asf/jmeter/site cp HEAD https://svn.apache.org/repos/asf/jmeter/doap/doap_JMeter.rdf https://svn.apache.org/repos/asf/jmeter/site/doap_JMeter.rdf |
Change the /docs-35.20/ path segment above as appropriate!
...
No Format |
---|
svnmucc -m "Update website for the new release JMeter 35.20" -X updatesite.txt |
The SvnPubSub system will update the live site within a few seconds.
...
No Format |
---|
ant release_delete -Djmeter.old.version=34.10 -DrepoType=live [-Dasf.ldap.password=secret [-Dasf.ldap.usermame=user] ] |