...
mkdir 0.10.0.0_RELEASE
cd 0.10.0.0_RELEASE/
- mkdir artifactsmkdir kafka-0.10.0.0-rc0
git clone https://git-wip-us.apache.org/repos/asf/kafka.git kafka
cd kafka
git checkout -b 0.10.0 tags/0.10.0.0-rc0 <- important! checkout the tag, or you'll be releasing SNAPSHOT accidentally.
...
- Go to JIRA, move all unresolved jiras with "Fix versions" of 0.10.0.0 to future releases.
Run ./release_notes.py 0.10.0.0 > ../artifactskafka-0.10.0.0-rc0/RELEASE_NOTES.html. It will fail if you have any unresolved JIRAs still in the release, listing the JIRAs that still need to be addressed. Otherwise, double check that the output in RELEASE_NOTES.html looks ok for the release
...
git archive --format tar.gz --prefix kafka-0.10.0.0-src/ -o ../artifactskafka-0.10.0.0-rc0/kafka-0.10.0.0-src.tgz 0.10.0.0-rc0
Prepare the binary artifacts and aggregated javadoc
- Make sure your java is on jdk 1.7 (On mac: export JAVA_HOME=$(/usr/libexec/java_home -v 1.7))
- Make sure you have Gradle installed
- gradle
- ./gradlew clean releaseTarGzAll aggregatedJavadoc
- cp core/build/distributions/* ../artifactskafka-0.10.0.0-rc0
- cp -R build/docs/javadoc ../artifactskafka-0.10.0.0-rc0
Sign the artifacts
- Make sure you have gpg keys to sign the release artifacts
- Sign the artifacts:
- cd ../artifactskafka-0.10.0.0-rc0
- Run the following commands (you may have to specify the gpg key to use via the `-u` option if you have multiple keys):
for file in *.tgz; do gpg --armor --output $file.asc --detach-sig $file; done
for file in *.tgz; do gpg --verify $file.asc $file; done
for file in *.tgz; do gpg --print-md md5 $file > $file.md5; done
for file in *.tgz; do gpg --print-md sha1 $file > $file.sha1; done
for file in *.tgz; do gpg --print-md sha512 $file > $file.sha2; done
Upload all the binary artifacts, release notes, javadoc to your home.apache.org URL.
- The easiest way is to sftp (lftp is a more fully featured alternative) them over to homesftp can be used to copy the relevant files over to <apache_id>@home.apache.org/public_html using your apache id:
- sftp <apache_id>@home.apache.org
- mkdir public_html (this only needs to be done the first time)
- cd public_html
- mkdir kafka-0.10.0.0-rc0
- put -r artifacts/* kafka-0.10.0.0-rc0rc0 .
- If you find sftp is a bit clunky, lftp is an alternative
Upload artifacts to Maven staging repository
...
Send out a voting email to users@kafka.apache.org, dev@kafka.apache.org, kafka-clients@googlegroups.com. In the email, include the git revision next to the git tag (since tag will be dropped when rolling out a new RC).
No Format To: dev@kafka.apache.org Subject: [VOTE] 0.10.0.0 RC0 Hello Kafka users, developers and client-developers, This is the first candidate for release of Apache Kafka 0.10.0.0. This is a major release that includes: (1) New message format including timestamps (2) client interceptor API (3) Kafka Streams. Since this is a major release, we will give people more time to try it out and give feedback. Release notes for the 0.10.0.0 release: http://home.apache.org/~gwenshap/kafka-0.10.0.0-rc0/RELEASE_NOTES.HTML *** Please download, test and vote by Monday, March 28, 9am PT Kafka's KEYS file containing PGP keys we use to sign the release: http://kafka.apache.org/KEYS * Release artifacts to be voted upon (source and binary): http://home.apache.org/~gwenshap/kafka-0.10.0.0-rc0/ * Maven artifacts to be voted upon: https://repository.apache.org/content/groups/staging/ * scalajava-doc http://home.apache.org/~gwenshap/0.10.0.0-rc0/scaladoc * java-doc http://home.apache.org/~gwenshap/kafka-0.10.0.0-rc0/javadoc/ * tag to be voted upon (off 0.10.0 branch) is the 0.10.0.0 tag: https://git-wip-us.apache.org/repos/asf?p=kafka.git;a=tag;h=72fd542633a95a8bd5bdc9fdca56042b643cb4b0 * Documentation: http://kafka.apache.org/0100/documentation.html * Protocol: http://kafka.apache.org/0100/protocol.html /************************************** Thanks, Gwen
...