Add release versioning and Docker release workflow

This commit is contained in:
Sergey Filkin
2026-04-17 23:44:16 +03:00
parent 0fe596383e
commit 94a3e102b4
8 changed files with 129 additions and 1 deletions
+4
View File
@@ -1 +1,5 @@
"""Application package for the md-to-html service."""
from app.version import __version__
__all__ = ["__version__"]
+6
View File
@@ -10,6 +10,7 @@ from fastapi.responses import JSONResponse
from pydantic import BaseModel, ConfigDict, field_validator
from app.converter import convert, load_template_text
from app.version import __version__
DEFAULT_MAX_MARKDOWN_BYTES = 1_048_576
DEFAULT_MAX_REQUEST_BYTES = 1_200_000
@@ -154,6 +155,11 @@ async def health() -> dict[str, str]:
return {"status": "ok"}
@app.get("/version")
async def version() -> dict[str, str]:
return {"version": __version__}
@app.get("/ready")
async def ready() -> dict[str, Any]:
details: dict[str, Any] = {"status": "ok", "template_loaded": True}
+5 -1
View File
@@ -10,9 +10,11 @@ import streamlit as st
try:
from app.converter import convert
from app.version import __version__
except ModuleNotFoundError:
sys.path.append(str(Path(__file__).resolve().parent.parent))
from app.converter import convert
from app.version import __version__
MAX_PREVIEW_STORE_ITEMS = 20
@@ -146,7 +148,9 @@ if "preview_url" not in st.session_state:
st.session_state["preview_url"] = None
st.title("Markdown → HTML")
st.caption("Загрузите markdown-файл, проверьте превью и скачайте готовый HTML.")
st.caption(
f"Версия {__version__}. Загрузите markdown-файл, проверьте превью и скачайте готовый HTML."
)
uploaded_file = st.file_uploader(
"Загрузите .md файл",
+10
View File
@@ -0,0 +1,10 @@
from pathlib import Path
VERSION_FILE = Path(__file__).resolve().parent.parent / "VERSION"
def read_version() -> str:
return VERSION_FILE.read_text(encoding="utf-8").strip()
__version__ = read_version()