feat: implement dagster and dbt validation in ci
This commit is contained in:
@@ -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
|
||||
|
||||
9
.github/workflows/ci.yml
vendored
9
.github/workflows/ci.yml
vendored
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user