0.
...
9.0.
...
0 and forward release notes with Gradle
mkdir 0.9.80.20_RELEASE
cd 0.89.0.20_RELEASE/
git clone https://git-wip-us.apache.org/repos/asf/kafka.git kafka_0.8.2-src
cd kafka_0.8.2-src/
git checkout -b 0.89.2 0 origin/0.89.20
Go to JIRA, select roadmap from left panel, click on "release notes" next to the release version and prepare/format the txt release notes (configure to change from html). The text version shows up at the bottom of the page.
git tag -a 0.89.20.0
git push --tags
- make sure your java is on jdk 1.7
- git clone https://github.com/stealthly/bootstrap
- git checkout -b jdk6 origin/jdk6
- vagrant up
- vagrant ssh
- mkdir apache
- cd apache
- git clone http://git-wip-us.apache.org/repos/asf/kafka.git kafka
- cd kafka
- git checkout 0.8.2.0
- git log
Now make sure the log commit is the same of the tag you are sending out and that you checked out
- cd ..
- mkdir kafka-0.89.0.20-src
- cd kafka-0.89.0.20-src
- cp -r ~/apache../kafka/* .
- git status
fatal: Not a git repository (or any of the parent directories): .git
- if you did not get this you messed up somewhere please go back.
Now prepare the source (after getting your keys local to the box)
- cd ..
- tar -zcvf kafka-0.9.80.20-src.tgz kafka-0.89.0.20-src/
sign the artifact/vagrant/scripts/sign.sh kafka-0.8.2-src.tgz
( gpg --armor --output kafka-0.89.0.20-src.tgz.asc --detach-sig kafka-0.9.80.20-src.tgzgpg --print-md MD5 kafka-0.9.80.20-src.tgz > kafka-0.89.0.20-src.tgz.md5
gpg --print-md SHA1 kafka-0.9.80.20-src.tgz > kafka-0.9.80.20-src.tgz.sha1
gpg --print-md SHA512 kafka-0.89.0.20-src.tgz > kafka-0.89.0.20-src.tgz.sha2 )
- upload the artifacts to where you are staging them
- check they are there
- exit
- vagrant destroy
Setup another clean room
- vagrant up
- vagrant ssh
- download the files you signed and uploaded
- gpg kafka-0.8.1-src.tgz.asc
- /vagrant/scripts/verify.sh kafka-0.8.1-src.tgz
You should see valid signatures and no errors, if errors go back
- Gradle must be installed http://www.gradle.org/installation (ubuntu apt-get http://askubuntu.com/questions/328178/gradle-in-ubuntu)
sudo add-apt-repository ppa:cwchien/gradle
sudo apt-get update
sudo apt-get install gradle
- wget wget https://people.apache.org/~etc/candidate/src.tgz
- tar -xvf kafka-0.8.2-src.tgz
- cd kafka-0.8.2-src
- gradle
- ./gradlew clean
- cp your private gradle.properties to ~/.gradle
make sure JDK 6 7 is installed if Kafka version <= 0.8.2.x, otherwise JDK 7 should be installed, setup your gradle.properties correctly (see README.md)
- ./gradlew releaseTarGzAll
- cd core/build/distributions/
- /vagrant/scripts/sign.sh kafka_2.9.110-0.8.2.tgz/vagrant/scripts/sign.sh kafka_2.9.2-0.80.2.tgz
- /vagrant/scripts/sign.sh kafka_2.1011-0.89.2.tgz/vagrant/scripts/sign.sh kafka_2.11-0.8.20.0.tgz
Prepare java and scala docs.
...
- cd ../../../
- ./gradlew uploadArchivesAll
- Go to https://repository.apache.org/#stagingRepositories, find the uploaded artifacts and close this (don't promote until the vote passes). The artifacts should show up under https://repository.apache.org/content/groups/staging/.
Check sbt
- git clone https://github.com/stealthly/scala-kafkagit checkout -b 0.8.2
- vagrant up
- ./gradlew test
Voting:
- 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).
...
Website update process:
For major new releases:
- Git clone https://git-wip-us.apache.org/repos/asf/kafka-site.git
- checkout the branch asf-site
- The releaseTarGzAll target should auto
- Create a new release directory (say 09X) in kafa-site git repo.
- Copy kafka-code/docs/* pages to newly created directory (kafka-site/09X).
- Auto-generate the configuration docs for broker/producer/consumer and update configuration.html (kafka-site/09X/configuration.html)
Commands to auto-generate config pages:
java -classpath kafka-clients-0.X.X.X-SNAPSHOT.jar org.apache.kafka.clients.producer.ProducerConfigjava -classpath kafka-clients-0.X.X.X-SNAPSHOT.jar org.apache.kafka.clients.consumer.ConsumerConfigjava -classpath kafka-clients-0.X.X.X-SNAPSHOT.jar:in ./core/build/distributions/kafka_2.10-0.X9.X0.X-SNAPSHOT.jar:scala-library-2.10.5.jar kafka.server.KafkaConfig0-site-docs.tgz. Untar the file in 090/. - Copy release javadoc to newly created directory (kafka-site/09X)090/.
- Update kafka-site/ documentation.html to include the new documentation link (kafka-site090/09X/documentation.html).
- Update kafka-site/ downloads.html to include the new download links from mirrors and change last release to use archive.
- Update kafka-site/downloads.html to include the new download link from mirrors and change last release to use archive.
...
- .
0.8.0 and below with SBT
...