1
0
Fork 0
Code Issues Pull requests Projects Releases 2 Packages Wiki Activity Actions Pages

Centralize release version identity

This commit is contained in:
Andraxion 2026-07-29 15:42:45 -04:00
parent c3552f2328
commit 47ac329947
10 changed files with 64 additions and 7 deletions

View file

@ -262,9 +262,14 @@ class PublicContractTests(unittest.TestCase):
return json.loads((SCHEMAS / name).read_text(encoding="utf-8"))
def test_distribution_version_entry_points_and_imports_are_stable(self) -> None:
project = tomllib.loads((ROOT / "pyproject.toml").read_text(encoding="utf-8"))["project"]
configuration = tomllib.loads((ROOT / "pyproject.toml").read_text(encoding="utf-8"))
project = configuration["project"]
self.assertEqual("docforge", project["name"])
self.assertEqual(docforge.__version__, project["version"])
self.assertEqual(["version"], project["dynamic"])
self.assertEqual(
"src/docforge/_version.py",
configuration["tool"]["hatch"]["version"]["path"],
)
self.assertEqual(docforge.__version__, SERVER_VERSION)
scripts = project["scripts"]
for name, target in EXPECTED_ENTRY_POINTS.items():
@ -276,6 +281,23 @@ class PublicContractTests(unittest.TestCase):
with self.subTest(module=module_name, name=name):
self.assertTrue(hasattr(module, name))
version_surfaces = {
"docforge.cli": "docforge 1.4.0\n",
"docforge.mcp_server": "docforge-mcp 1.4.0\n",
"docforge.reference_mcp": "python -m docforge.reference_mcp 1.4.0\n",
"docforge.viewer_manager": "docforge-viewer-manager 1.4.0\n",
}
for module_name, expected in version_surfaces.items():
with self.subTest(module=module_name):
completed = subprocess.run(
[sys.executable, "-m", module_name, "--version"],
cwd=ROOT,
check=True,
capture_output=True,
text=True,
)
self.assertEqual(expected, completed.stdout)
def test_cli_and_mcp_names_remain_additively_compatible(self) -> None:
parser = _parser()
commands = next(