diff --git a/CHANGELOG.md b/CHANGELOG.md index b7bcf4a..286fbdb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - 15 new tests in `web/tests/test_affiliate.py` (41 total) ### Fixed +- **Data Platform admin view showing stale/zero row counts** — Docker web containers were mounting `/opt/padelnomics/data` (stale copy) instead of `/data/padelnomics` (live supervisor output). Fixed volume mount in all 6 containers (blue/green × app/worker/scheduler) and added `LANDING_DIR=/app/data/pipeline/landing` so extraction stats and landing zone file stats are visible to the web app. +- **`workflows.toml` never found in dev** — `_REPO_ROOT` in `pipeline_routes.py` used `parents[5]` (one level too far up) instead of `parents[4]`. Workflow schedules now display correctly on the pipeline overview tab in dev. - **Article preview frontmatter bug** — `_rebuild_article()` in `admin/routes.py` now strips YAML frontmatter before passing markdown to `mistune.html()`, preventing raw `title:`, `slug:` etc. from appearing as visible text in article previews. ### Added diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 95e4017..174526c 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -60,9 +60,10 @@ services: environment: - DATABASE_PATH=/app/data/app.db - SERVING_DUCKDB_PATH=/app/data/pipeline/analytics.duckdb + - LANDING_DIR=/app/data/pipeline/landing volumes: - app-data:/app/data - - /opt/padelnomics/data:/app/data/pipeline:ro + - /data/padelnomics:/app/data/pipeline:ro networks: - net healthcheck: @@ -82,9 +83,10 @@ services: environment: - DATABASE_PATH=/app/data/app.db - SERVING_DUCKDB_PATH=/app/data/pipeline/analytics.duckdb + - LANDING_DIR=/app/data/pipeline/landing volumes: - app-data:/app/data - - /opt/padelnomics/data:/app/data/pipeline:ro + - /data/padelnomics:/app/data/pipeline:ro networks: - net @@ -98,9 +100,10 @@ services: environment: - DATABASE_PATH=/app/data/app.db - SERVING_DUCKDB_PATH=/app/data/pipeline/analytics.duckdb + - LANDING_DIR=/app/data/pipeline/landing volumes: - app-data:/app/data - - /opt/padelnomics/data:/app/data/pipeline:ro + - /data/padelnomics:/app/data/pipeline:ro networks: - net @@ -115,9 +118,10 @@ services: environment: - DATABASE_PATH=/app/data/app.db - SERVING_DUCKDB_PATH=/app/data/pipeline/analytics.duckdb + - LANDING_DIR=/app/data/pipeline/landing volumes: - app-data:/app/data - - /opt/padelnomics/data:/app/data/pipeline:ro + - /data/padelnomics:/app/data/pipeline:ro networks: - net healthcheck: @@ -137,9 +141,10 @@ services: environment: - DATABASE_PATH=/app/data/app.db - SERVING_DUCKDB_PATH=/app/data/pipeline/analytics.duckdb + - LANDING_DIR=/app/data/pipeline/landing volumes: - app-data:/app/data - - /opt/padelnomics/data:/app/data/pipeline:ro + - /data/padelnomics:/app/data/pipeline:ro networks: - net @@ -153,9 +158,10 @@ services: environment: - DATABASE_PATH=/app/data/app.db - SERVING_DUCKDB_PATH=/app/data/pipeline/analytics.duckdb + - LANDING_DIR=/app/data/pipeline/landing volumes: - app-data:/app/data - - /opt/padelnomics/data:/app/data/pipeline:ro + - /data/padelnomics:/app/data/pipeline:ro networks: - net diff --git a/web/src/padelnomics/admin/pipeline_routes.py b/web/src/padelnomics/admin/pipeline_routes.py index cc27504..258b9f0 100644 --- a/web/src/padelnomics/admin/pipeline_routes.py +++ b/web/src/padelnomics/admin/pipeline_routes.py @@ -49,7 +49,7 @@ _LANDING_DIR = os.environ.get("LANDING_DIR", "data/landing") _SERVING_DUCKDB_PATH = os.environ.get("SERVING_DUCKDB_PATH", "data/analytics.duckdb") # Repo root: web/src/padelnomics/admin/ → up 4 levels -_REPO_ROOT = Path(__file__).resolve().parents[5] +_REPO_ROOT = Path(__file__).resolve().parents[4] _WORKFLOWS_TOML = _REPO_ROOT / "infra" / "supervisor" / "workflows.toml" # A "running" row older than this is considered stale/crashed.