airflow-dags/.forgejo/workflows/etl-tests.yml
Pascal Beyer 82c393408f
Some checks failed
ETL-QS / etl-tests (push) Failing after 44s
ETL-QS-Suite, CI-Pipeline und korrigierte Pfade/DB
- Pfad-Defaults im DAG auf das Repo-Checkout /opt/airflow/git/current
  umgestellt (include-Skripte + etl_cache) und Ziel-DB auf
  analytics_pg_duckdb festgelegt
- tests/: Fixture-Generator (>=4 Dateien je Quell-Ordner mit Dubletten/
  Edge-Cases) und End-to-End-Runner mit 45 Pruefungen gegen erwartete
  Ergebnisse, inkl. README
- .forgejo/workflows: CI laeuft die ETL-QS bei Aenderungen an ETL-Skript,
  tests/ oder Geo-Referenz (python:3.12-Container, runs-on docker)
- .gitignore: .venv_test/ und generierte tests/fixtures/ ausgeschlossen

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 14:11:55 +02:00

34 lines
1,021 B
YAML

name: ETL-QS
# Läuft bei Pushes und Pull Requests, sobald ETL-Logik, Tests oder die
# Geo-Referenz angefasst werden. So bleibt der Lauf schnell und gezielt.
on:
push:
paths:
- "include/02_etl_angebote_zuschlaege.py"
- "tests/**"
- "etl_cache/geo_plz_koordinaten.csv"
- ".forgejo/workflows/etl-tests.yml"
pull_request:
paths:
- "include/02_etl_angebote_zuschlaege.py"
- "tests/**"
- "etl_cache/geo_plz_koordinaten.csv"
- ".forgejo/workflows/etl-tests.yml"
jobs:
etl-tests:
runs-on: docker
# python:3.12 (Debian) bringt git für den Checkout mit; das ETL-Skript
# benötigt Python >= 3.10 (str | None-Syntax).
container:
image: python:3.12
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test-Abhängigkeiten installieren
run: pip install --no-cache-dir -r tests/requirements.txt
- name: ETL-QS ausführen (Fixtures erzeugen, ETL laufen, prüfen)
run: python tests/run_tests.py