From 28527a091447b84a4c8cb30fce1c87e81a756d5b Mon Sep 17 00:00:00 2001 From: Justin Ko Date: Sun, 4 Oct 2026 16:32:23 +0900 Subject: [PATCH] [verified] chore(release): prepare v0.1.3 --- .gitea/release.yaml | 16 +++++----------- deploy/k8s/base/deployment.yaml | 6 +++--- jarca_ledger_mcp/__init__.py | 2 +- pyproject.toml | 2 +- scripts/ci_dashboard_http_smoke.py | 27 ++++++++++++++------------- uv.lock | 2 +- 6 files changed, 25 insertions(+), 30 deletions(-) diff --git a/.gitea/release.yaml b/.gitea/release.yaml index ca7a817..672264b 100644 --- a/.gitea/release.yaml +++ b/.gitea/release.yaml @@ -72,19 +72,13 @@ artifacts: - type: container-http name_template: "jarca-dashboard-{run_id}" command: - - python - - -m - - streamlit - - run - - dashboard/app.py - - --server.address + - uvicorn + - dashboard.server:app + - --host - 0.0.0.0 - - --server.port + - --port - "8501" - - --server.headless - - "true" - - --browser.gatherUsageStats - - "false" + - --proxy-headers container_port: 8501 path: /_stcore/health expected_status: 200 diff --git a/deploy/k8s/base/deployment.yaml b/deploy/k8s/base/deployment.yaml index a86fc77..da1ae09 100644 --- a/deploy/k8s/base/deployment.yaml +++ b/deploy/k8s/base/deployment.yaml @@ -34,7 +34,7 @@ spec: type: RuntimeDefault initContainers: - name: init-db - image: gitea.jsfamily.quest/jsfamily/jarca-ledger-mcp:v0.1.2 + image: gitea.jsfamily.quest/jsfamily/jarca-ledger-mcp:v0.1.3 imagePullPolicy: IfNotPresent command: - python @@ -62,7 +62,7 @@ spec: mountPath: /tmp containers: - name: mcp - image: gitea.jsfamily.quest/jsfamily/jarca-ledger-mcp:v0.1.2 + image: gitea.jsfamily.quest/jsfamily/jarca-ledger-mcp:v0.1.3 imagePullPolicy: IfNotPresent env: - name: JARCA_LEDGER_DB_PATH @@ -104,7 +104,7 @@ spec: - name: mcp-tmp mountPath: /tmp - name: dashboard - image: gitea.jsfamily.quest/jsfamily/jarca-ledger-mcp:v0.1.2 + image: gitea.jsfamily.quest/jsfamily/jarca-ledger-mcp:v0.1.3 imagePullPolicy: IfNotPresent command: - uvicorn diff --git a/jarca_ledger_mcp/__init__.py b/jarca_ledger_mcp/__init__.py index 25143c1..6ca9f4e 100644 --- a/jarca_ledger_mcp/__init__.py +++ b/jarca_ledger_mcp/__init__.py @@ -1,3 +1,3 @@ """Jarca Ledger MCP server.""" -__version__ = "0.1.2" +__version__ = "0.1.3" diff --git a/pyproject.toml b/pyproject.toml index 2892966..c720ee3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "jarca-ledger-mcp" -version = "0.1.2" +version = "0.1.3" description = "Jarca household ledger MCP server for transactions, accounts, budgets, cashflow, and investable cashflow analysis" readme = "README.md" requires-python = ">=3.11" diff --git a/scripts/ci_dashboard_http_smoke.py b/scripts/ci_dashboard_http_smoke.py index b16b395..9c17ccf 100755 --- a/scripts/ci_dashboard_http_smoke.py +++ b/scripts/ci_dashboard_http_smoke.py @@ -1,8 +1,9 @@ #!/usr/bin/env python3 -"""CI wrapper for the Streamlit dashboard HTTP smoke gate. +"""CI wrapper for the production Dashboard ASGI HTTP smoke gate. -Creates a synthetic fixture DB, starts Streamlit against it, waits for HTTP 200, -and always attempts process cleanup. Output is intentionally status-only. +Creates a synthetic fixture DB, starts the authenticated Streamlit ASGI wrapper, +waits for HTTP 200, and always attempts process cleanup. Output is intentionally +status-only. """ from __future__ import annotations @@ -26,7 +27,7 @@ from scripts.ci_fixture_db import create_ci_fixture_db def parse_args() -> argparse.Namespace: - parser = argparse.ArgumentParser(description="Run Streamlit dashboard HTTP smoke against a synthetic CI fixture DB.") + parser = argparse.ArgumentParser(description="Run the Dashboard ASGI HTTP smoke against a synthetic CI fixture DB.") parser.add_argument("--host", default="127.0.0.1", help="Loopback host to bind") parser.add_argument("--port", type=int, default=18501, help="Deterministic smoke port") parser.add_argument("--timeout", type=int, default=45, help="Readiness timeout in seconds") @@ -75,21 +76,21 @@ def main() -> int: fixture = create_ci_fixture_db(fixture_path) env = os.environ.copy() env["JARCA_LEDGER_DB_PATH"] = str(fixture_path) + env["JARCA_DASHBOARD_ADMIN_ID"] = "a" + env["JARCA_DASHBOARD_ADMIN_PASSWORD"] = "p" + env["JARCA_DASHBOARD_SIGNING_SECRET"] = "s" * 32 + env["FORWARDED_ALLOW_IPS"] = "127.0.0.1" env["STREAMLIT_BROWSER_GATHER_USAGE_STATS"] = "false" cmd = [ sys.executable, "-m", - "streamlit", - "run", - "dashboard/app.py", - "--server.address", + "uvicorn", + "dashboard.server:app", + "--host", args.host, - "--server.port", + "--port", str(args.port), - "--server.headless", - "true", - "--browser.gatherUsageStats", - "false", + "--proxy-headers", ] proc = subprocess.Popen( cmd, diff --git a/uv.lock b/uv.lock index c92cadb..4601a96 100644 --- a/uv.lock +++ b/uv.lock @@ -469,7 +469,7 @@ wheels = [ [[package]] name = "jarca-ledger-mcp" -version = "0.1.2" +version = "0.1.3" source = { editable = "." } dependencies = [ { name = "mcp" },