openflexure-microscope-server/check_version_sync.py
Julian Stirling c79184a6d9 Use same version number for server and webapp, add CI check
- Check webapp and server have same version number
- Use `genversion` on build to create javascript file with version string
from pyproject.toml
- Expose the version number in the js interface
- Correct format of current of alpha version string because javascript complains

Closes #382
2025-06-09 12:13:15 +01:00

26 lines
620 B
Python
Executable file

#! /usr/bin/env python3
"""
A script to check that th npm version string matches the python
version string exactly.
"""
import json
import tomllib
import os
with open("pyproject.toml", "rb") as toml_f:
pyproject_data = tomllib.load(toml_f)
with open(os.path.join("webapp", "package.json"), "r", encoding="utf-8") as json_f:
webapp_data = json.load(json_f)
py_ver = pyproject_data["project"]["version"]
js_ver = webapp_data["version"]
assert py_ver == js_ver, (
"The python and javascript version numbers should match.\n"
f"Python version: {py_ver}\n"
f"Javascript version: {js_ver}\n"
""
)