This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 9d48f7c88a4 Add backward compatibility layer for dag_cycle_tester
(#54169)
9d48f7c88a4 is described below
commit 9d48f7c88a433becadb50257575a272583a935bc
Author: Amogh Desai <[email protected]>
AuthorDate: Wed Aug 6 15:36:09 2025 +0530
Add backward compatibility layer for dag_cycle_tester (#54169)
---
airflow-core/src/airflow/utils/dag_cycle_tester.py | 48 ++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/airflow-core/src/airflow/utils/dag_cycle_tester.py
b/airflow-core/src/airflow/utils/dag_cycle_tester.py
new file mode 100644
index 00000000000..f428825f68c
--- /dev/null
+++ b/airflow-core/src/airflow/utils/dag_cycle_tester.py
@@ -0,0 +1,48 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from __future__ import annotations
+
+import warnings
+from typing import TYPE_CHECKING
+
+if TYPE_CHECKING:
+ from airflow.sdk.definitions.dag import DAG
+
+warnings.warn(
+ "`airflow.utils.dag_cycle_tester` module is deprecated and "
+ "will be removed in Airflow 3.2. Please use `dag.check_cycle()` method
instead.",
+ DeprecationWarning,
+ stacklevel=2,
+)
+
+
+def check_cycle(dag: DAG) -> None:
+ """
+ Check to see if there are any cycles in the DAG.
+
+ .. deprecated:: 3.1.0
+ This function is deprecated. Use `dag.check_cycle()` method instead.
+
+ :param dag: The DAG to check for cycles
+ :raises AirflowDagCycleException: If cycle is found in the DAG.
+ """
+ # No warning here since we already warned on import
+ dag.check_cycle()
+
+
+__all__ = ["check_cycle"]