astronomer / astronomer-cosmos

Run your dbt Core projects as Apache Airflow DAGs and Task Groups with a few lines of code
https://astronomer.github.io/astronomer-cosmos/
Apache License 2.0
657 stars 168 forks source link

Support different versions of dbt in our test matrix #965

Open tatiana opened 6 months ago

tatiana commented 6 months ago

Context

At the moment, we have:

And we want to introduce dbt to the test matrix.

This would increase significantly the amount of tests being run, without a clear benefit.

Goal

Have one set of integration & unit tests for:

Have integration & unit tests for the following combinations:

Acceptance criteria

It may be worth having an independent virtual env for dbt, to avoid conflicts similar to #944. Another alternative may be to use constraints, as proposed in #965.

Suppose we decide to have separate virtualenvs for Airflow and db. In that case, we will still have to have at least one integration test with dbt and Airflow in the same venv to validate the behaviour of InvocationMode.DBT_RUNNER: https://astronomer.github.io/astronomer-cosmos/getting_started/execution-modes.html#invocation-modes.

tatiana commented 6 months ago

Perhaps, instead of running every test against the combination of the matrix, we could use -k and run only tests for specific errors related to some of the older versions.