feat: log schwab-scraper and mcp-server commit SHAs at container startup
Some checks failed
Build and Push Docker Image / build (push) Failing after 39s

Bake commit SHAs into the Docker image via CI and log them on server
startup so it's easy to verify which version of schwab-scraper is running.
This commit is contained in:
2026-05-04 14:31:01 +00:00
parent 8c196b7f65
commit 4982b7d09f
3 changed files with 40 additions and 0 deletions

View File

@@ -23,6 +23,8 @@ jobs:
git clone --depth=1 --branch main \ git clone --depth=1 --branch main \
"https://x-access-token:${CLONE_TOKEN}@gitea.ext.ben.io/b3nw/schwab-scraper.git" \ "https://x-access-token:${CLONE_TOKEN}@gitea.ext.ben.io/b3nw/schwab-scraper.git" \
vendor/schwab-scraper 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 - name: Login to Gitea Container Registry
uses: docker/login-action@v2 uses: docker/login-action@v2

View File

@@ -17,6 +17,9 @@ RUN uv venv && \
uv pip install --upgrade playwright && \ uv pip install --upgrade playwright && \
rm -rf /tmp/schwab-scraper 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 . . COPY . .
FROM python:3.12-slim-bookworm FROM python:3.12-slim-bookworm

View File

@@ -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.setLevel(logging.DEBUG if os.getenv("SCHWAB_DEBUG", "").lower() in ("1", "true") else logging.INFO)
_scraper_logger.propagate = True _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 # Log capture helper — captures scraper logs to a string buffer AND tees