diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 41034d3..3b58385 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -23,6 +23,8 @@ jobs: git clone --depth=1 --branch main \ "https://x-access-token:${CLONE_TOKEN}@gitea.ext.ben.io/b3nw/schwab-scraper.git" \ vendor/schwab-scraper + cd vendor/schwab-scraper && git rev-parse HEAD > ../schwab-scraper-commit.txt + echo "${{ gitea.sha }}" > vendor/mcp-server-commit.txt - name: Login to Gitea Container Registry uses: docker/login-action@v2 diff --git a/Dockerfile b/Dockerfile index ee1a08e..c038b83 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,6 +17,9 @@ RUN uv venv && \ uv pip install --upgrade playwright && \ rm -rf /tmp/schwab-scraper +COPY vendor/schwab-scraper-commit.txt /app/schwab-scraper-commit.txt +COPY vendor/mcp-server-commit.txt /app/mcp-server-commit.txt + COPY . . FROM python:3.12-slim-bookworm diff --git a/server.py b/server.py index 92e0b0e..0b738b3 100644 --- a/server.py +++ b/server.py @@ -32,6 +32,41 @@ _scraper_logger = logging.getLogger("schwab_scraper") _scraper_logger.setLevel(logging.DEBUG if os.getenv("SCHWAB_DEBUG", "").lower() in ("1", "true") else logging.INFO) _scraper_logger.propagate = True +_startup_logger = logging.getLogger("schwab_mcp_custom") + + +def _read_commit_file(path: str) -> str | None: + try: + with open(path) as f: + return f.read().strip() or None + except FileNotFoundError: + return None + + +_scraper_commit = _read_commit_file( + os.path.join(os.path.dirname(__file__), "schwab-scraper-commit.txt") +) +_mcp_commit = _read_commit_file( + os.path.join(os.path.dirname(__file__), "mcp-server-commit.txt") +) + +if _scraper_commit: + _startup_logger.info("schwab-scraper commit: %s", _scraper_commit) +else: + _startup_logger.info("schwab-scraper commit: (not available)") + +if _mcp_commit: + _startup_logger.info("mcp-server commit: %s", _mcp_commit) +else: + _startup_logger.info("mcp-server commit: (not available)") + +try: + from importlib.metadata import version as _pkg_version + + _startup_logger.info("schwab-scraper package version: %s", _pkg_version("schwab-scraper")) +except Exception: + _startup_logger.info("schwab-scraper package version: (unknown)") + # --------------------------------------------------------------------------- # Log capture helper — captures scraper logs to a string buffer AND tees