Skip to content

Commit

Permalink
Update doc with conflicts between Airflow and dbt doc (#731)
Browse files Browse the repository at this point in the history
Update the docs describing conflicts between Airflow and dbt until
Airflow 2.7 and dbt 1.7.
  • Loading branch information
tatiana authored Dec 4, 2023
1 parent abeb15c commit 1e6feb1
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 16 deletions.
1 change: 1 addition & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ repos:
args:
- --exclude-file=tests/sample/manifest_model_version.json
- --skip=**/manifest.json
- -L connexion
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.10.0
hooks:
Expand Down
52 changes: 36 additions & 16 deletions docs/getting_started/execution-modes-local-conflicts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,27 @@ Airflow and DBT dependencies conflicts
======================================

When using the `Local Execution Mode <execution-modes.html#local>`__, users may face dependency conflicts between
Apache Airflow and DBT. The amount of conflicts may increase depending on the Airflow providers and DBT plugins being used.
Apache Airflow and DBT. The conflicts may increase depending on the Airflow providers and DBT plugins being used.

If you find errors, we recommend users look into using `alternative execution modes <execution-modes.html>`__.

In the following table, ``x`` represents combinations that lead to conflicts (vanilla ``apache-airflow`` and ``dbt-core`` packages):

+---------------+-----+-----+-----+-----+-----+-----+---------+
| Airflow \ DBT | 1.0 | 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6.0b6 |
+===============+=====+=====+=====+=====+=====+=====+=========+
| 2.2 | | | | x | x | x | x |
+---------------+-----+-----+-----+-----+-----+-----+---------+
| 2.3 | x | x | | x | x | x | x |
+---------------+-----+-----+-----+-----+-----+-----+---------+
| 2.4 | x | x | x | | | | |
+---------------+-----+-----+-----+-----+-----+-----+---------+
| 2.5 | x | x | x | | | | |
+---------------+-----+-----+-----+-----+-----+-----+---------+
| 2.6 | x | x | x | x | x | | x |
+---------------+-----+-----+-----+-----+-----+-----+---------+
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+
| Airflow / DBT | 1.0 | 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 |
+===============+=====+=====+=====+=====+=====+=====+=====+=====+
| 2.2 | | | | x | x | x | x | x |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+
| 2.3 | x | x | | x | x | x | x | x |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+
| 2.4 | x | x | x | | | | | |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+
| 2.5 | x | x | x | | | | | |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+
| 2.6 | x | x | x | x | x | | | |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+
| 2.7 | x | x | x | x | x | | | |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+

Examples of errors
-----------------------------------
Expand All @@ -41,6 +43,22 @@ Examples of errors
apache-airflow 2.6.0 depends on importlib-metadata<5.0.0 and >=1.7; python_version < "3.9"
dbt-semantic-interfaces 0.1.0.dev7 depends on importlib-metadata==6.6.0
.. code-block:: bash
ERROR: Cannot install apache-airflow, apache-airflow==2.7.0 and dbt-core==1.4.0 because these package versions have conflicting dependencies.
The conflict is caused by:
dbt-core 1.4.0 depends on pyyaml>=6.0
connexion 2.12.0 depends on PyYAML<6 and >=5.1
dbt-core 1.4.0 depends on pyyaml>=6.0
connexion 2.11.2 depends on PyYAML<6 and >=5.1
dbt-core 1.4.0 depends on pyyaml>=6.0
connexion 2.11.1 depends on PyYAML<6 and >=5.1
dbt-core 1.4.0 depends on pyyaml>=6.0
connexion 2.11.0 depends on PyYAML<6 and >=5.1
apache-airflow 2.7.0 depends on jsonschema>=4.18.0
flask-appbuilder 4.3.3 depends on jsonschema<5 and >=3
connexion 2.10.0 depends on jsonschema<4 and >=2.5.1
How to reproduce
----------------
Expand All @@ -57,8 +75,10 @@ The table was created by running `nox <https://nox.thea.codes/en/stable/>`__ wi
@nox.session(python=["3.10"])
@nox.parametrize("dbt_version", ["1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6.0b6"])
@nox.parametrize("airflow_version", ["2.2.4", "2.3", "2.4", "2.5", "2.6"])
@nox.parametrize(
"dbt_version", ["1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7"]
)
@nox.parametrize("airflow_version", ["2.2.4", "2.3", "2.4", "2.5", "2.6", "2.7"])
def compatibility(session: nox.Session, airflow_version, dbt_version) -> None:
"""Run both unit and integration tests."""
session.run(
Expand Down

0 comments on commit 1e6feb1

Please sign in to comment.