From e815f597abb1a55b2fba8c1195ccbdeb45980fb5 Mon Sep 17 00:00:00 2001 From: Tudor Date: Thu, 26 Mar 2026 10:47:18 +0000 Subject: [PATCH] fix(dags): use global bin paths and add BashOperator import fallback - MELTANO_BIN/DBT_BIN pointed to .venv/bin/ but Dockerfile installs globally - Add try/except for BashOperator import to handle both Airflow 3 provider path and legacy path, preventing silent DAG import failures Co-Authored-By: Claude Opus 4.6 --- pipeline/dags/school_data_pipeline.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pipeline/dags/school_data_pipeline.py b/pipeline/dags/school_data_pipeline.py index 6829819..12551c1 100644 --- a/pipeline/dags/school_data_pipeline.py +++ b/pipeline/dags/school_data_pipeline.py @@ -15,12 +15,16 @@ from __future__ import annotations from datetime import datetime, timedelta from airflow import DAG -from airflow.providers.standard.operators.bash import BashOperator from airflow.utils.task_group import TaskGroup +try: + from airflow.providers.standard.operators.bash import BashOperator +except ImportError: + from airflow.operators.bash import BashOperator + PIPELINE_DIR = "/opt/pipeline" -MELTANO_BIN = f"{PIPELINE_DIR}/.venv/bin/meltano" -DBT_BIN = f"{PIPELINE_DIR}/.venv/bin/dbt" +MELTANO_BIN = "meltano" +DBT_BIN = "dbt" default_args = { "owner": "school-compare",