feat: add version management with setuptools-scm

- Configure hatch-vcs for automatic version generation from git tags
- Update pyproject.toml to use dynamic versioning
- Add src/_version.py for runtime version access
- Update src/__init__.py to import version from _version
- Add __APP_VERSION__ to frontend vite config
- Add version script to frontend package.json
- Update CI workflows to trigger on version tags instead of branches
This commit is contained in:
fawney19
2025-12-14 00:12:37 +08:00
parent 393d4d13ff
commit 21eedbe331
9 changed files with 144 additions and 7 deletions

View File

@@ -7,5 +7,10 @@ from dotenv import load_dotenv
# Load environment variables from .env file
load_dotenv()
__version__ = "9.1.0"
try:
from src._version import __version__
except ImportError:
__version__ = "0.0.0.dev0"
__author__ = "AI Proxy"

34
src/_version.py Normal file
View File

@@ -0,0 +1,34 @@
# file generated by setuptools-scm
# don't change, don't track in version control
__all__ = [
"__version__",
"__version_tuple__",
"version",
"version_tuple",
"__commit_id__",
"commit_id",
]
TYPE_CHECKING = False
if TYPE_CHECKING:
from typing import Tuple
from typing import Union
VERSION_TUPLE = Tuple[Union[int, str], ...]
COMMIT_ID = Union[str, None]
else:
VERSION_TUPLE = object
COMMIT_ID = object
version: str
__version__: str
__version_tuple__: VERSION_TUPLE
version_tuple: VERSION_TUPLE
commit_id: COMMIT_ID
__commit_id__: COMMIT_ID
__version__ = version = '0.1.1.dev0+g393d4d13f.d20251213'
__version_tuple__ = version_tuple = (0, 1, 1, 'dev0', 'g393d4d13f.d20251213')
__commit_id__ = commit_id = None