Versions Compared

Key

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

...

  • copy the javadoc and scaladoc directories over

Expose Make sure all the binary artifacts, release notes, java and scala doc through an URLare exposed through your home.apache.org URL.

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):

...

  • 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

  Website update process:

  For new releases:

  • Make sure the documentation (docs/documentation.html, docs/quickstart.html,docs/api.html) are all referring to the correct release and links.
  • 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).

Voting:

  • Send out a voting email to users@kafka.apache.orgdev@kafka.apache.orgkafka-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/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/0.10.0.0-rc0/
    
    * Maven artifacts to be voted upon:
    https://repository.apache.org/content/groups/staging/
    
    * scala-doc
    http://home.apache.org/~gwenshap/0.10.0.0-rc0/scaladoc
    
    * java-doc
    http://home.apache.org/~gwenshap/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


Verification 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

 After the vote passes:

  • Remember: at least 3 days, 3 +1 from PMC members (committers are not enough!) and no -1.
  • Send a vote closing email:

    No Format
    To: dev@kafka.apache.org
    Subject: [RESULTS] [VOTE] Release Kafka version 0.10.0.0
    
    This vote passes with 8 +1 votes (4 bindings) and no 0 or -1 votes.
    
    +1 votes
    PMC Members:
    * $Name
    * $Name 
    To: dev@kafka.apache.org
    Subject: [RESULTS] [VOTE] Release Kafka version 0.10.0.0
    
    This vote passes with 7 +1 votes (3 bindings) and no 0 or -1 votes.
    
    +1 votes
    PMC Members:
    * $Name
    * $Name 
    * $Name
    
    Committers:
    * $Name
    * $Name
    
    Community:
    * $Name
    * $Name
    
    0 votes
    * No votes
    
    -1 votes
    * No votes
    
    Vote thread:
    http://markmail.org/message/faioizetvcils2zo
    
    I'll continue in the release process and announce a release in the next few days.
    
    $RM
  • 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:

  • Make sure the documentation (docs/documentation.html, docs/quickstart.html,docs/api.html) are all referring to the correct release and links.
  • 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).