feat: implement dagster and dbt validation in ci

This commit is contained in:
Stijnvandenbroek
2026-03-11 14:08:55 +00:00
parent a68217a709
commit 9dec2bfdfa
3 changed files with 12 additions and 9 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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