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
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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
35
server.py
35
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
|
||||
|
||||
Reference in New Issue
Block a user