diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index faeb7913..d9f1944f 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,41 +1,11 @@ # Frequenz Repository Configuration Release Notes -## Summary - - - -## Upgrading - - - -### Cookiecutter template - -All upgrading should be done via the migration script or regenerating the templates. - -```bash -curl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.12/cookiecutter/migrate.py | python3 -``` - -But you might still need to adapt your code: - - - -## New Features - - - -### Cookiecutter template - - - ## Bug Fixes - Fixed some typos in the docs. +- Fixed wrong comparison for `mike` versions when versions were equal. +- Fixed version regex escaping of `.`. This means that a version like v0x1e1 were accepted as valid semver versions. Now this version is not considered a semver version anymore. - `setuptools.grpc_tools`: Fix wrong passing of include paths when passed via: * Command-line: Now extra white-spaces and empty strings are removed, before they were passed to `protoc -I`. * `pyproject.toml`: Now an empty array/list can be passed to override the default paths, before this resulted in an empty string being passed to `protoc -I`. - -### Cookiecutter template - - diff --git a/src/frequenz/repo/config/mkdocs/mike.py b/src/frequenz/repo/config/mkdocs/mike.py index a5e9b6ba..a2ba2e22 100644 --- a/src/frequenz/repo/config/mkdocs/mike.py +++ b/src/frequenz/repo/config/mkdocs/mike.py @@ -136,10 +136,10 @@ def build_mike_version(repo_info: RepoVersionInfo) -> MikeVersionInfo: ) -_is_version_re = re.compile(r"^v(\d+).(\d+)(-dev|-pre)?$") -_stable_to_semver_re = re.compile(r"^v(\d+).(\d+)$") -_pre_to_semver_re = re.compile(r"^v(\d+).(\d+)-pre$") -_dev_to_semver_re = re.compile(r"^v(\d+).(\d+)-dev$") +_is_version_re = re.compile(r"^v(\d+)\.(\d+)(?:-dev|-pre)?$") +_stable_to_semver_re = re.compile(r"^v(\d+)\.(\d+)$") +_pre_to_semver_re = re.compile(r"^v(\d+)\.(\d+)-pre$") +_dev_to_semver_re = re.compile(r"^v(\d+)\.(\d+)-dev$") def _to_fake_sortable_semver(version: str) -> str: @@ -207,6 +207,9 @@ def compare_mike_version(version1: str, version2: str) -> int: if is_version_v2: # version1 is not a version return 1 + if version1 == version2: + return 0 + return -1 if version1 < version2 else 1 diff --git a/tests/mkdocs/test_mike.py b/tests/mkdocs/test_mike.py index f9f7d8f9..38b0714a 100644 --- a/tests/mkdocs/test_mike.py +++ b/tests/mkdocs/test_mike.py @@ -266,6 +266,8 @@ def test_build_mike_version( ("v2.0-pre", "v1.0-pre", 1), ("v2.0", "v1.0-pre", 1), ("blah", "v1.0-dev", 1), + ("blah", "blah", 0), + ("v1x0-dev", "v1.0-dev", 1), ("alpha", "beta", -1), ], )