dheerajturaga opened a new pull request, #73087: URL: https://github.com/apache/airflow/pull/73087
Task graphs can be acyclic while cross-group edges create a cycle when sibling TaskGroups are treated as units. Downstream consumers require an unambiguous group ordering, so this rejects the configuration during Dag parsing instead of allowing it to fail later in Grid or Graph endpoints. The check covers root and nested TaskGroup scopes, reports the offending scope, documents the restriction, and adds Task SDK and DagBag regression tests. This supersedes #72822 based on maintainer feedback there. Tests: - `breeze run --skip-image-upgrade-check pytest task-sdk/tests/task_sdk/definitions/test_dag.py::TestCycleTester::test_cycle_between_sibling_task_groups -xvs` - `breeze run --skip-image-upgrade-check pytest airflow-core/tests/unit/dag_processing/test_dagbag.py::TestDagBag::test_skip_task_group_dependency_cycle_dags -xvs` - `prek run --from-ref main --stage pre-commit` - `prek run --from-ref main --stage manual --skip compile-ui-assets-dev --skip view-skill-eval --skip run-skill-eval-codex` --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Codex (GPT-5) Generated-by: Codex (GPT-5) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) --- Drafted-by: Codex (GPT-5) (no human review before posting) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
