mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-31 19:16:29 +00:00
feat(version): derive display versions from release tags
Resolve user-facing versions from SemVer release tags and available local history while retaining raw package metadata for API identity. Stamp Desktop provenance at build time, and expose generic version details for every Desktop install method.
This commit is contained in:
parent
ad6df5eb95
commit
1a4c4eca0d
35 changed files with 827 additions and 293 deletions
31
tests/scripts/test_release_tags.py
Normal file
31
tests/scripts/test_release_tags.py
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
"""Release-tag policy: new releases use semver, old CalVer tags remain readable."""
|
||||
|
||||
import importlib.util
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
_RELEASE_PATH = Path(__file__).resolve().parents[2] / "scripts" / "release.py"
|
||||
_SPEC = importlib.util.spec_from_file_location("hermes_release", _RELEASE_PATH)
|
||||
assert _SPEC and _SPEC.loader
|
||||
release = importlib.util.module_from_spec(_SPEC)
|
||||
_SPEC.loader.exec_module(release)
|
||||
|
||||
|
||||
def test_release_tag_uses_the_semver_version():
|
||||
assert release.release_tag_for_version("0.20.0") == "v0.20.0"
|
||||
|
||||
|
||||
def test_last_tag_prefers_semver_over_newer_looking_legacy_calver(monkeypatch):
|
||||
monkeypatch.setattr(
|
||||
release,
|
||||
"git",
|
||||
lambda *_args: "v2026.7.20\nv0.20.0\nv0.19.0",
|
||||
)
|
||||
|
||||
assert release.get_last_tag() == "v0.20.0"
|
||||
|
||||
|
||||
def test_last_tag_falls_back_to_legacy_calver_history(monkeypatch):
|
||||
monkeypatch.setattr(release, "git", lambda *_args: "v2026.7.20\nv2026.7.7")
|
||||
|
||||
assert release.get_last_tag() == "v2026.7.20"
|
||||
Loading…
Add table
Add a link
Reference in a new issue