diff --git a/CHANGELOG.rst b/CHANGELOG.rst index b7aeef22a..bf0242465 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,26 @@ Changelog ========= +1.1.2 (2023-09-27) +------------------ + +Bug fixes + +* Fix using ``ExecutionMode.KUBERNETES`` by @pgoslatara and @tatiana in #554 +* Add support to ``apache-airflow-providers-cncf-kubernetes < 7.4.0`` by @tatiana in #553 +* Fix ``on_warning_callback`` behaviour on ``DbtTestLocalOperator`` by @edgga, @marco9663 and @tatiana in #558 +* Use ``returncode`` instead of ``stderr`` to determine dbt graph loading errors by @cliff-lau-cloverhealth in #547 +* Improve error message in ``config.py`` by @meyobagero in #532 +* Fix ``DbtTestOperator`` when test does not have ``test_metadata`` by @tatiana in #558 +* Fix ``target-path`` not specified issue in ``dbt-project.yml`` by @tatiana in #533 + +Others + +* Docs: add reference links to dbt and Airflow columns by @TJaniF in #542 +* pre-commit updates #552 and #546 + + + 1.1.1 (2023-09-14) ------------------ diff --git a/cosmos/__init__.py b/cosmos/__init__.py index fc58a7b99..b73414c8c 100644 --- a/cosmos/__init__.py +++ b/cosmos/__init__.py @@ -5,7 +5,7 @@ Contains dags, task groups, and operators. """ -__version__ = "1.1.1" +__version__ = "1.1.2" from cosmos.airflow.dag import DbtDag from cosmos.airflow.task_group import DbtTaskGroup diff --git a/cosmos/operators/local.py b/cosmos/operators/local.py index 825e0e5e9..46e66f0a3 100644 --- a/cosmos/operators/local.py +++ b/cosmos/operators/local.py @@ -42,8 +42,10 @@ ) from cosmos.dbt.parser.output import extract_log_issues, parse_output -logger = get_logger(__name__) +DBT_NO_TESTS_MSG = "Nothing to do" +DBT_WARN_MSG = "WARN" +logger = get_logger(__name__) try: from airflow.providers.openlineage.extractors.base import OperatorLineage @@ -473,12 +475,18 @@ def _handle_warnings(self, result: FullOutputSubprocessResult, context: Context) warning_context["test_names"] = test_names warning_context["test_results"] = test_results - if self.on_warning_callback: - self.on_warning_callback(warning_context) + self.on_warning_callback and self.on_warning_callback(warning_context) def execute(self, context: Context) -> None: result = self.build_and_run_cmd(context=context) - if self.on_warning_callback and "WARN" in result.output: + should_trigger_callback = all( + [ + self.on_warning_callback, + DBT_NO_TESTS_MSG not in result.output, + DBT_WARN_MSG in result.output, + ] + ) + if should_trigger_callback: warnings = parse_output(result, "WARN") if warnings > 0: self._handle_warnings(result, context) diff --git a/pyproject.toml b/pyproject.toml index dd88d2d15..11e819774 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,34 +46,34 @@ dependencies = [ [project.optional-dependencies] dbt-all = [ - "dbt-bigquery<=1.5.4", - "dbt-databricks<=1.5.4", - "dbt-exasol<=1.5.4", - "dbt-postgres<=1.5.4", - "dbt-redshift<=1.5.4", - "dbt-snowflake<=1.5.4", - "dbt-spark<=1.5.4", + "dbt-bigquery", + "dbt-databricks", + "dbt-exasol", + "dbt-postgres", + "dbt-redshift", + "dbt-snowflake", + "dbt-spark", ] dbt-bigquery = [ - "dbt-bigquery<=1.5.4", + "dbt-bigquery", ] dbt-databricks = [ - "dbt-databricks<=1.5.4", + "dbt-databricks", ] dbt-exasol = [ - "dbt-exasol<=1.5.4", + "dbt-exasol", ] dbt-postgres = [ - "dbt-postgres<=1.5.4", + "dbt-postgres", ] dbt-redshift = [ - "dbt-redshift<=1.5.4", + "dbt-redshift", ] dbt-snowflake = [ - "dbt-snowflake<=1.5.4", + "dbt-snowflake", ] dbt-spark = [ - "dbt-spark<=1.5.4", + "dbt-spark", ] openlineage = [ "openlineage-integration-common", @@ -107,7 +107,7 @@ docker = [ "apache-airflow-providers-docker>=3.5.0", ] kubernetes = [ - "apache-airflow-providers-cncf-kubernetes>=5.1.1,<7.3.0", + "apache-airflow-providers-cncf-kubernetes>=5.1.1", ] @@ -132,7 +132,7 @@ include = [ dependencies = [ "astronomer-cosmos[tests]", "apache-airflow-providers-docker>=3.5.0", - "apache-airflow-providers-cncf-kubernetes>=5.1.1,<7.3.0", + "apache-airflow-providers-cncf-kubernetes>=5.1.1", "types-PyYAML", "types-attrs", "types-requests", diff --git a/tests/operators/test_kubernetes.py b/tests/operators/test_kubernetes.py index 839a6db54..7ef606cfe 100644 --- a/tests/operators/test_kubernetes.py +++ b/tests/operators/test_kubernetes.py @@ -171,7 +171,7 @@ def test_created_pod(test_hook): "stdin": None, "stdin_once": None, "termination_message_path": None, - "termination_message_policy": None, + # "termination_message_policy": None, "tty": None, "volume_devices": None, "volume_mounts": [], @@ -213,6 +213,8 @@ def test_created_pod(test_hook): }, "status": None, } + computed_result = pod_obj.to_dict() + computed_result["spec"]["containers"][0].pop("termination_message_policy") computed_result["metadata"].pop("namespace") assert computed_result == expected_result