kafka/release
Colin Patrick McCabe fa936e7e08 KAFKA-17735: release.py must not use home.apache.org (#17421)
Previously, Apache Kafka was uploading release candidate (RC) artifacts
to users' home directories on home.apache.org. However, since this
resource has been decommissioned, we need to follow the standard
approach of putting release candidate artifacts into the appropriate
subversion directory, at https://dist.apache.org/repos/dist/dev/kafka/.

Reviewers: Justine Olshan <jolshan@confluent.io>
2024-10-08 15:42:01 -07:00
..
README.md KAFKA-17735: release.py must not use home.apache.org (#17421) 2024-10-08 15:42:01 -07:00
git.py KAFKA-16934: Clean up and refactor release.py (#16287) 2024-07-05 13:01:13 +01:00
gpg.py KAFKA-16934: Clean up and refactor release.py (#16287) 2024-07-05 13:01:13 +01:00
notes.py MINOR: Improve release script (#16613) 2024-07-17 16:45:32 +02:00
preferences.py KAFKA-16934: Clean up and refactor release.py (#16287) 2024-07-05 13:01:13 +01:00
release.py KAFKA-17735: release.py must not use home.apache.org (#17421) 2024-10-08 15:42:01 -07:00
requirements.txt KAFKA-16934: Clean up and refactor release.py (#16287) 2024-07-05 13:01:13 +01:00
runtime.py KAFKA-17735: release.py must not use home.apache.org (#17421) 2024-10-08 15:42:01 -07:00
svn.py KAFKA-17735: release.py must not use home.apache.org (#17421) 2024-10-08 15:42:01 -07:00
templates.py KAFKA-17735: release.py must not use home.apache.org (#17421) 2024-10-08 15:42:01 -07:00
textfiles.py KAFKA-16934: Clean up and refactor release.py (#16287) 2024-07-05 13:01:13 +01:00

README.md

Releasing Apache Kafka

This directory contains the tools used to publish a release.

Requirements

  • python 3.12
  • git
  • gpg 2.4

The full instructions for producing a release are available in https://cwiki.apache.org/confluence/display/KAFKA/Release+Process.

Setup

Create a virtualenv for python, activate it and install dependencies:

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Usage

To start a release, first activate the virutalenv, and then run the release script.

source .venv/bin/activate

You'll need to setup PUSH_REMOTE_NAME to refer to the git remote for apache/kafka.

export PUSH_REMOTE_NAME=<value>

It should be the value shown with this command:

git remote -v | grep -w 'github.com' | grep -w 'apache/kafka' | grep -w '(push)' | awk '{print $1}'

Then start the release script:

python release.py

Should you encounter some problem, where re-running the script doesn't work, look at the following steps:

  • The script remembers data inputted previously if you need to correct it, it is saved under the .release-settings.json file in the release folder.
  • If the script is interrupted you might need to manually delete the tag named after the release candidate name and branch named after the release version.