Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Make sure you are working with a clean repo (i.e. identical to upstream - no changes in progress). If needed clone a fresh copy
  • git checkout trunk
  • Check that current HEAD points to commit on which you want to base new  release branch. Checkout particular commit if not.
  • git branch 0.10.0
  • git push apache 0.10.0
  • Check that the branch was correctly propagated to Apache using the webui: https://git-wip-us.apache.org/repos/asf?p=kafka.git
  • Modify the version in 0.10.0 branch to remove "-SNAPSHOT" in gradle.properties, tests/kafkatest/__init__.py and kafka-merge-pr.py. Commit and push to 0.10.0 branch in apache.
  • Modify the version in trunk to bump to the next one "0.10.1.0-SNAPSHOT" in gradle.properties, tests/kafkatest/__init__.py and kafka-merge-pr.py. Commit and push to trunk in apache.
  • Send email announcing the new branch:

    No Format
    To: dev@kafka.apache.org
    Subject: New release branch 0.10.0
    
    Hello Kafka developers and friends,
    
    As promised, we now have a release branch for 0.10.0 release (with 0.10.0.0
    as the version).
    Trunk has been bumped to 0.10.1.0-SNAPSHOT.
    
    I'll be going over the JIRAs to move every non-blocker from this release to
    the next release.
    
    From this point, most changes should go to trunk.
    *Blockers (existing and new that we discover while testing the release)
    will be double-committed. *Please discuss with your reviewer whether your
    PR should go to trunk or to trunk+release so they can merge accordingly.
    
    *Please help us test the release! *
    
    Thanks!
    
    $RM
    
    
    
    
    
    

Create Release Artifacts

Prepare a workspace:

Prepare a public release staging area:

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

Check NOTICE and LICENSE files

...

  • 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 html release notes (configure to change from html). The text html version shows up at the bottom of the page. Save the release notes as RELEAE_NOTES.html
  • Upload the release notes to home.apache.org

Prepare the release tag

  • git tag -a 0.9.0.0

  • git push --tags


...

  • cd core/build/distributions/
  • /vagrant/scripts/sign.sh kafka_2.10-0.9.0.0.tgz
  • sign the artifacts:
    • 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
    /vagrant/scripts/sign.sh kafka_2.11-0.9.0.0.tgz

Prepare java and scala docs.

...

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

...

Go drop whatever staging repository may be in the maven repo

...