Luchtstroom
Airflow CI op GitHub Actions
DAG-importcontroles installeren elke run de volledige Airflow-afhankelijkheidsset opnieuw.
5m → 20s
Installatie
DAG-importcontroles installeren elke run de volledige Airflow-afhankelijkheidsset opnieuw.
Waarom het gebeurt
De aan beperkingen gekoppelde afhankelijkheidsboom van Airflow is groot en wordt elke keer opnieuw vanaf het begin geïnstalleerd.
Wat te veranderen
- Cache de virtualenv die op het beperkingenbestand is ingetoetst
- Voer DAG-validatie uit zonder planner met behulp van de zelfstandige DagBag-controle
- Gebruik een vooraf gebouwde Airflow-image in plaats van pip-installatie in de taak
Luchtstroom op runnerhut
yaml
jobs: validate: runs-on: runnerhut-4vcpu-ubuntu-2404 container: apache/airflow:2.10.0 steps: - uses: actions/checkout@v4 - run: python -c "from airflow.models import DagBag; assert not DagBag().import_errors"De enige runnerhut-specifieke regel is `runs-on: runnerhut-4vcpu-ubuntu-2404`. Al het andere is standaard GitHub Actions — dezelfde acties, dezelfde geheimen en hetzelfde machtigingsmodel dat u vandaag de dag gebruikt.
Je volgende build kan twee keer zo snel zijn, voor de halve prijs
Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.
Gerelateerd
DatabasemigratiesBij elke testrun wordt de volledige migratiegeschiedenis opnieuw afgespeeld vanuit een lege database.dbtdbt ontleedt het gehele project en voert ongewijzigde modellen opnieuw uit.CondaHet oplossen van omgevingsproblemen duurt langer dan de analyse zelf.VonkSpark-taken in CI besteden het grootste deel van hun tijd aan het opstarten van JVM en het samenstellen van jar.