Skip to content

Releasing kafka‐native

Keith Wall edited this page Sep 22, 2023 · 3 revisions

Releasing Kafka Native

This page describes how to release the kafka-native project.

Release a new version from main

Version numbers in kafka-native are in the form x.y.z (e.g. 0.3.0). The version number is also used to tag the repository.

To make a new release:

  1. Execute GitHub Action prepare-release with release-version argument set to the next version number, e.g. 0.4.0. Set dry-run to false.
  2. The action will perform the Maven release and tag the result.
  3. Execute GitHub Action deploy-release with the branch argument set to the version number, e.g. 0.4.0.
  4. The action will perform the native builds of kafka and zookeeper, release the Maven artefacts to Maven Central and push the kafka and zookeeper native images to quay.io kafka-native and quay.io zookeeper-native.
  5. Create the changelog (this step is currently manual and is run on the developer's machine). You can add the JRELEASER_DEFAULT_GIT_REMOTE=xxxx if the remote name for https://github.com/ozangunalp/kafka-native is something other than origin.
git checkout 0.4.0
JRELEASER_GITHUB_TOKEN=ghp_xxxxxx mvn -N jreleaser:release -Djreleaser.dry.run=false

Backports

In the case where you need to backport a change to an existing release affecting the content of the image, or you want to re-release an older kafka-native release in response to an Apache Kafka defect fix release (for instance 3.3.2).

  1. Create a branch kafka/x.x if it does not already exist from the most appropriate point the commit history.
  2. Backport change(s), and/or commit changes to the pom.xml to bump kafka.version as appropriate.
  3. Run tests locally
  4. Push the changes up to the repository.
  5. Execute GitHub Action Build Kafka Images with argument kafka/x.x.
  6. The action will perform the native builds of kafka and zookeeper, and push the kafka and zookeeper native images to quay.io kafka-native and [quay.io zookeeper-native].
Clone this wiki locally