You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 74 Next »

0.9.0.0 and forward release notes with Gradle

Check NOTICE and LICENSE files

  • Make sure the NOTICE file has the correct year

Update version number

  • If the code is still using a -SNAPSHOT version, remove it and commit the release version. (This will only happen during the first release candidate currently.)

Prepare release notes

  • Go to JIRA, move all unresolved jiras with "Fix versions" of 0.9.0.0 to future releases.
  • 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.

Prepare the release tag

  • git tag -a 0.9.0.0

  • git push --tags


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.9.0.0-src
  • cd kafka-0.9.0.0-src
  • cp -r ../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.0.0-src.tgz kafka-0.9.0.0-src/
  • sign the artifact
    ( gpg --armor --output kafka-0.9.0.0-src.tgz.asc --detach-sig kafka-0.9.0.0-src.tgz

      gpg --print-md MD5 kafka-0.9.0.0-src.tgz > kafka-0.9.0.0-src.tgz.md5

      gpg --print-md SHA1 kafka-0.9.0.0-src.tgz > kafka-0.9.0.0-src.tgz.sha1

      gpg --print-md SHA512 kafka-0.9.0.0-src.tgz > kafka-0.9.0.0-src.tgz.sha2 )

  • upload the artifacts to where you are staging them
  • check they are there

Validate the signatures:

  • download the files you signed and uploaded
  • gpg --verify kafka-0.10.0.0-src.tgz.asc kafka-0.10.0.0-src.tgz

You should see valid signatures and no errors, continue.

  • make sure your java is on jdk 1.7
  • Make sure you have Gradle installed

  • cd kafka-0.9.0.0-src
  • gradle
  • ./gradlew clean releaseTarGzAll
  • cd core/build/distributions/
  • /vagrant/scripts/sign.sh kafka_2.10-0.9.0.0.tgz
  • /vagrant/scripts/sign.sh kafka_2.11-0.9.0.0.tgz

Prepare java and scala docs.

  • copy the javadoc and scaladoc directories over

Expose all the binary artifacts, release notes, java and scala doc through an URL

  • The easiest way is to sftp them over to home.apache.org/public_html using your apache id (in sftp, first create kafka-0.9.0.0-candidate1, then put -r localDir kafka-0.9.0.1-candidate1).

Go drop whatever staging repository may be in the maven repo

              mavenUrl=https://repository.apache.org/service/local/staging/deploy/maven2
              mavenUsername=your-apache-id
              mavenPassword=your-apache-passwd
              signing.keyId=your-gpgkeyId
              signing.password=your-gpg-passphrase
              signing.secretKeyRingFile=/Users/your-id/.gnupg/secring.gpg

Voting:

Verify for voting:

  • gpg --import KEYS (KEYS can be obtained from http://kafka.apache.org/KEYS)
  • gpg --verify foo-1.0.tar.gz.asc foo-1.0.tar.gz
  • Test at least quickstart and unit tests for all scala versions.

If need to roll a new RC

 Post vote todo (after the vote passes):

  • Upload all artifacts, release notes, and docs to https://dist.apache.org/repos/dist/release/kafka (an svn repo, using Apache committer id/passwd)
  • Go to https://repository.apache.org/#stagingRepositories, find the uploaded artifacts and release this (this will push to maven central)
  • Wait for about a day for the artifacts to show up in apache mirror and maven central.
  • Send out an announcement email. You will need to use your apache email address to send out the email (otherwise, it won't be delivered to announce@apache.org).
    • Log into people.apache.org with your apache id.
    • Include a paragraph in the announcement email like: "According to git shortlog <number_of_contributors> people contributed to this release: <contributors>" where:
      • number_of_contributors is determined via `git shortlog -sn --no-merges <previous_release_tag>..<current_release_tag> | wc -l` (eg `git shortlog -sn --no-merges 0.8.2.2..0.9.0.0 | wc -l`)
      • contributors is determined via: `git shortlog -sn --no-merges <previous_release_tag>..<current_release_tag> | cut -f2 | tr '\n' ',' | sed -e 's/,/, /g'` (eg `git shortlog -sn --no-merges 0.8.2.2..0.9.0.0 | cut -f2 | sort --ignore-case | tr '\n' ',' | sed -e 's/,/, /g'`)
    • cat mail.txt|mail -s "[ANNOUCE] ..."  announce@apache.orgusers@kafka.apache.orgdev@kafka.apache.orgkafka-clients@googlegroups.com
  • Add the release data to https://reporter.apache.org/addrelease.html?kafka (must be a Kafka PMC member)

  Website update process:

  For 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-generate the configuration docs for broker/producer/consumer in ./core/build/distributions/kafka_2.10-0.9.0.0-site-docs.tgz. Untar the file in 090/.
  • Copy release javadoc to newly 090/.
  • Update documentation.html to include the new documentation link (090/documentation.html).
  • Update protocol.html to include the new protocol guide link (090/protocol.html).
  • Update downloads.html to include the new download links from mirrors and change last release to use archive.
  • Mark the version as released in Kafka JIRA (from JIRA administration panel, select versions and scroll mouse towards the end of the line for the particular version. From the dropdown list, select release and set the date).

 

  • No labels