Skip to content

Commit

Permalink
docs: add instructions on how to update MINIMUM_NUMAFLOW_VERSION (num…
Browse files Browse the repository at this point in the history
…aproj#189)

Signed-off-by: Keran Yang <[email protected]>
  • Loading branch information
KeranYang authored Sep 23, 2024
1 parent 885533a commit a7434cf
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 13 deletions.
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

0 comments on commit a7434cf

Please sign in to comment.