Skip to content
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

docs: add instructions on how to update MINIMUM_NUMAFLOW_VERSION #189

Merged
merged 3 commits into from
Sep 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions pynumaflow/info/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@
if os.getenv("PYTHONDEBUG"):
_LOGGER.setLevel(logging.DEBUG)

# Constants for using in the info-server
# Specify the minimum Numaflow version required by the current SDK version
MINIMUM_NUMAFLOW_VERSION = "1.3.0-rc1"
# Minimum version of Numaflow required by the current SDK version
# To update this value, please follow the instructions for MINIMUM_NUMAFLOW_VERSION in
# https://github.com/numaproj/numaflow-rs/blob/main/src/shared.rs
MINIMUM_NUMAFLOW_VERSION = "1.3.0-z"
# Need to keep consistent with all SDKs and client
EOF = "U+005C__END__"

Expand Down Expand Up @@ -50,6 +51,7 @@ class Language(str, Enum):
GO = "go"
PYTHON = "python"
JAVA = "java"
RUST = "rust"


class MapMode(str, Enum):
Expand All @@ -69,7 +71,7 @@ class ServerInfo:
sdk version, language, metadata to the client.
Args:
protocol: Protocol to use (UDS or TCP)
language: Language used by the server(Python, Golang, Java)
language: Language used by the server(Python, Golang, Java, Rust)
minimum_numaflow_version: lower bound for the supported Numaflow version
version: Numaflow sdk version used by the server
metadata: Any additional information to be provided (env vars)
Expand Down
15 changes: 6 additions & 9 deletions releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,12 @@ This document explains the release process for the Python SDK. You can find the

1. Before releasing a new SDK version, make sure to update all references from the old version to the new one. For example,
the version in the root `pyproject.toml` should be updated (for [reference](https://github.com/numaproj/numaflow-python/commit/6a720e7c56121a45b94aa929c6b720312dd9340a))
- The version in the root `pyproject.toml`
can be updated by running `poetry version <version-bump-rule | PEP440-string>`. The version bump rules that can be provided and their corresponding effects can be found [here](https://python-poetry.org/docs/cli/#version),
- The version in the root `pyproject.toml` can be updated by running `poetry version <version-bump-rule | PEP440-string>`. e.g., `poetry version 0.8.0`
The version bump rules that can be provided and their corresponding effects can be found [here](https://python-poetry.org/docs/cli/#version),
in the `Poetry` documentation. A version number can also be directly specified instead, but it must follow the [PEP 440](https://peps.python.org/pep-0440/) specification
2. If the version to be released has backwards incompatible changes, i.e. it does not support older versions of the Numaflow platform,
you must update the `MINIMUM_NUMAFLOW_VERSION` constant in the `pynumaflow/info/types.py` file to the minimum Numaflow version that is supported by your new SDK version
3. After making these changes, create a PR. Once merged, it will trigger the `Docker Publish` workflow, and should be included in the release.
As a result, the correct SDK version will always be printed in the server information logs, and
the example images will always be using the latest changes (due to the local references)
you must update the `MINIMUM_NUMAFLOW_VERSION` constant in the `pynumaflow/info/types.py` file to the minimum Numaflow version that is supported by your new SDK version.
3. After making these changes, create a PR and merge it.

### How to Release

Expand All @@ -22,8 +20,7 @@ This can be done via the Github UI.
2. Create a tag that has the same name as the version that you specified in the root
`pyproject.toml`, prefix it with a `'v'`, and select it
3. Make the title the same as the tag
4. Click `Generate release notes` so that
all the changes made since the last release are documented. If there are any major features or breaking changes that you would like to highlight as part of the release,
add those to the description as well
4. Click `Generate release notes` so that all the changes made since the last release are documented.
If there are any major features or breaking changes that you would like to highlight as part of the release, add those to the description as well
5. Select `Set as the latest release` or `Set as a pre-release`, depending on your situation
6. Finally, click `Publish release`, and your version tag will be the newest release on the repository
Loading