Skip to content

Commit 1768061

Browse files
committed
Filter non-version refs in release helper
1 parent f51b61b commit 1768061

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

scripts/developer-guide/determine_release_version.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
from urllib.request import Request, urlopen
1515

1616

17+
VERSION_PATTERN = re.compile(r"\d+(?:\.\d+)*$")
18+
19+
1720
def _sanitize_tag(value: str) -> str:
1821
value = value.strip()
1922
if value.lower().startswith("refs/tags/"):
@@ -25,6 +28,10 @@ def _sanitize_tag(value: str) -> str:
2528
return value.strip()
2629

2730

31+
def _looks_like_version(tag: str) -> bool:
32+
return bool(tag and VERSION_PATTERN.fullmatch(tag))
33+
34+
2835
def _parse_version_components(version: str) -> List[int]:
2936
return [int(part) for part in version.split(".")]
3037

@@ -41,12 +48,14 @@ def release_tag_from_event() -> str:
4148
release = data.get("release") or {}
4249
tag = release.get("tag_name") or release.get("target_commitish") or ""
4350
if tag:
44-
return _sanitize_tag(tag)
51+
sanitized = _sanitize_tag(tag)
52+
if _looks_like_version(sanitized):
53+
return sanitized
4554
for key in ("GITHUB_REF_NAME", "GITHUB_REF"):
4655
value = os.environ.get(key)
4756
if value:
4857
sanitized = _sanitize_tag(value)
49-
if sanitized:
58+
if _looks_like_version(sanitized):
5059
return sanitized
5160
return ""
5261

0 commit comments

Comments
 (0)