-
Notifications
You must be signed in to change notification settings - Fork 49
Add RELEASE.md #611
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Add RELEASE.md #611
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| Release Preparation Guide | ||
| ========================= | ||
|
|
||
| Follow these steps to prepare a new release (example: `3.29.6`): | ||
|
|
||
| 1) Version bump | ||
| - Update `cassandra/__init__.py` `__version_info__`/`__version__`. | ||
| - Add new tag with `-scylla` postfix to `docs/conf.py` `TAGS` and set `LATEST_VERSION`. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You forgot about DEPRECATED_VERSIONS |
||
| - Refresh any user-facing version strings (e.g. `docs/installation.rst`). | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The important purpose of such guide is to provide a comprehensive list of such places, to avoid missing some when releasing. |
||
|
|
||
| 2) Changelog | ||
| - Add a new section at the top of `CHANGELOG.rst` with the release date. | ||
| - List each merged PR since the previous release in the format `* <description> (#<PR-ID>)`. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I really wish we started doing nicer release notes, like we do in Rust Driver, or like Operator team does (https://forum.scylladb.com/t/release-scylladb-operator-1-19-0/5188 ) |
||
|
|
||
| 3) Dependency/docs metadata | ||
| - Update `docs/conf.py` multiversion tag list if new published doc tags are required. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What is multiversion tag list? How is it different from things described in step 1 (TAGS, LATEST_VERSION)? |
||
| - If documentation styling or assets changed, ensure `uv.lock` (or other doc assets) are refreshed. | ||
|
|
||
| 4) Tests and validation | ||
| - Run unit tests: `uv run pytest tests/unit`. | ||
| - Spot-check relevant integration tests if new protocol or cluster behavior was touched. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What's the added value of that if we run them before merging PRs? |
||
| - Build artifacts to confirm packaging still works: `uv run python -m build`. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is that not done by CI? |
||
|
|
||
| 5) Commit and tag | ||
| - Commit with an imperative subject, e.g. `Release 3.29.6: changelog, version and documentation`. | ||
| - Tag the commit as `3.29.6-scylla` if publishing docs, and `3.29.6` for the driver if applicable. | ||
|
Comment on lines
+23
to
+26
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. WDYM? It thought we only used |
||
|
|
||
| 6) Publish checklist | ||
| - Push tags and commit. | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe I don't have the latest info, but isn't it worth mentioning that this push should be atomic? Something like |
||
| - Publish wheels/sdist to the package index. | ||
| - Trigger docs build for the new tag/branch. | ||
|
Comment on lines
+30
to
+31
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could you elaborate on those points? You told what to do, but not how to do it. |
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
__version__is generated from__version_info__. How do you want a maintainer to update it?