diff --git a/.env.example b/.env.example index 178d9b9..5663078 100644 --- a/.env.example +++ b/.env.example @@ -17,3 +17,6 @@ PGADMIN_PASSWORD=changeme # Discord webhook for ELO alerts DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/your/webhook/url + +# MLflow +MLFLOW_TRACKING_URI=http://mlflow:5000 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 89cd231..6e599b5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -80,6 +80,15 @@ jobs: - name: Install dependencies run: uv sync + - name: Load environment from .env.example + run: grep -v '^#' .env.example | grep -v '^$' >> "$GITHUB_ENV" + + - name: Generate dbt manifest + run: uv run dbt parse --project-dir dbt --profiles-dir dbt + + - name: Validate Dagster definitions + run: uv run dagster definitions validate + - name: Run tests with coverage run: uv run pytest tests/ --cov=data_platform --cov-report=json:coverage.json diff --git a/tests/test_dagster.py b/tests/test_dagster.py index 8064d11..2b805f2 100644 --- a/tests/test_dagster.py +++ b/tests/test_dagster.py @@ -1,7 +1,5 @@ """Generic tests for Dagster definitions — schedules, jobs, and the Definitions object.""" -from pathlib import Path - import pytest from dagster import DefaultScheduleStatus @@ -95,14 +93,7 @@ class TestScheduleSpecific: # Definitions integration test # --------------------------------------------------------------------------- -_MANIFEST = Path(__file__).resolve().parent.parent / "dbt" / "target" / "manifest.json" -_skip_no_manifest = pytest.mark.skipif( - not _MANIFEST.exists(), - reason="dbt manifest not found (only available after local dbt compile)", -) - -@_skip_no_manifest class TestDefinitions: def test_definitions_loads(self): from data_platform.definitions import defs