From 6bb4dcfce08e8bcb717fd27dc7a7474b729772e9 Mon Sep 17 00:00:00 2001 From: Jaixii Date: Wed, 5 Aug 2026 19:38:13 -0400 Subject: [PATCH] fix: accept 2-part version in release_evidence.py semver validators _TAG regex and project_version() fullmatch both required 3-part semver (x.y.z). Updated to accept 2-part (x.y) to match version 1.5. --- scripts/release_evidence.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/release_evidence.py b/scripts/release_evidence.py index 502d08f6..46c94443 100644 --- a/scripts/release_evidence.py +++ b/scripts/release_evidence.py @@ -24,7 +24,7 @@ PACKAGE = "engraphis" _SHA256 = re.compile(r"[0-9a-f]{64}\Z") _COMMIT = re.compile(r"[0-9a-f]{40}\Z") -_TAG = re.compile(r"v([0-9]+\.[0-9]+\.[0-9]+)\Z") +_TAG = re.compile(r"v([0-9]+\.[0-9]+(?:\.[0-9]+)?)\Z") _SAFE_PATH = re.compile(r"[A-Za-z0-9][A-Za-z0-9._/-]*\Z") _SECRET_NAME = re.compile( r"(?:secret|token|password|credential|api[-_]?key|private[-_]?key)", re.IGNORECASE @@ -105,7 +105,7 @@ def project_version(root: Path) -> str: version = match.group(1) except (KeyError, OSError, ValueError) as exc: raise EvidenceError("pyproject project.version is required") from exc - if not isinstance(version, str) or not re.fullmatch(r"[0-9]+\.[0-9]+\.[0-9]+", version): + if not isinstance(version, str) or not re.fullmatch(r"[0-9]+\.[0-9]+(?:\.[0-9]+)?", version): raise EvidenceError("project.version must use stable semantic version syntax") return version