Skip to content

Conversation

clolov
Copy link
Contributor

@clolov clolov commented Sep 4, 2025

The Kafka website is hosted in a separate repository than the Kafka
code. The files versioned in the kafka-site repository are generated as
part of the version release process and then copied over. Today, this is
a manual process detailed in
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=34840886#ReleaseProcess-Websiteupdateprocess

This PR aims to simplify the manual steps by adding a sub-command to the
release.py script. The command uses the javadocs and *-site-docs.tgz in
the .release_work_dir and copies them over to the kafka-site repository.
There is a rudimentary dry-run sub-sub-command which can be used for
path-checking.

The addition to the script makes the assumption that the kafka-site
repository is on the same level as the kafka repository on a user's
machine. In the suggestion for subsequent commands it makes the further
assumption that the branch used in the kafka-site repository is
asf-site.

There are many things which we can improve about the overall script and
this addition in particular, but it is a start 😊.

I have tested this manually as part of the 4.0.1 release process and
cross-checked with the manual changes I did in
apache/kafka-site#718 and
apache/kafka-site#719

@github-actions github-actions bot added the triage PRs from the community label Sep 4, 2025
@clolov
Copy link
Contributor Author

clolov commented Sep 4, 2025

Heya @mimaison, @showuon, @mjsax and @lianetm! I am proposing this improvement to the release process because it took me an embarrassing 😅 amount of time to figure it out as part of the 4.0.1 release. Let me know your thoughts!

@clolov clolov changed the title Add a command to make site-docs and Javadocs updates easier on version release MINOR: Add a command to make site-docs and Javadocs updates easier on version release Sep 4, 2025
Copy link
Member

@mimaison mimaison left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the initiative! I left a few suggestions

# Find the site-docs archive
site_docs_archive = None
for file in os.listdir(artifacts_dir):
if file.endswith('-site-docs.tgz'):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a bit optimistic you can have -site-docs.tgz files for multiple versions. Can we guess the version like command_release_announcement_email() does?

Assumes the Kafka website repo is on the same level as the Kafka repo and is named kafka-site.

Args:
dry_run (bool): If True, only prints what would happen without making changes
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this is only touching local files, do we really need the dry_run argument?

cwd=versioned_docs_path
)

# Copy JavaDocs
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally this could run ./gradlew aggregatedJavadoc too

1. cd {kafka_site_path}
2. git add {docs_version(project_version)}
3. git commit -m "Add documentation for version {release_version}"
4. git push origin master
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pushing to a branch instead of master is probably best

@github-actions github-actions bot removed the triage PRs from the community label Sep 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants