diff --git a/dev/breeze/tests/test_selective_checks.py b/dev/breeze/tests/test_selective_checks.py index 3a39b7fd2b07d..499851436b395 100644 --- a/dev/breeze/tests/test_selective_checks.py +++ b/dev/breeze/tests/test_selective_checks.py @@ -2169,7 +2169,7 @@ def test_upgrade_to_newer_dependencies( ), pytest.param( ("providers/celery/src/airflow/providers/celery/file.py",), - {"docs-list-as-string": "celery cncf.kubernetes"}, + {"docs-list-as-string": "celery cncf.kubernetes common.compat"}, id="Celery python files changed", ), pytest.param( diff --git a/providers/celery/pyproject.toml b/providers/celery/pyproject.toml index 6f281dbfe7183..f42cd14b33436 100644 --- a/providers/celery/pyproject.toml +++ b/providers/celery/pyproject.toml @@ -58,6 +58,7 @@ requires-python = ">=3.10" # After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build`` dependencies = [ "apache-airflow>=2.10.0", + "apache-airflow-providers-common-compat>=1.8.0", # The Celery is known to introduce problems when upgraded to a MAJOR version. Airflow Core # Uses Celery for CeleryExecutor, and we also know that Kubernetes Python client follows SemVer # (https://docs.celeryq.dev/en/stable/contributing.html?highlight=semver#versions). @@ -78,6 +79,7 @@ dev = [ "apache-airflow", "apache-airflow-task-sdk", "apache-airflow-devel-common", + "apache-airflow-providers-common-compat", "apache-airflow-providers-cncf-kubernetes", # Additional devel dependencies (do not remove this line and add extra development dependencies) ] diff --git a/providers/celery/src/airflow/providers/celery/version_compat.py b/providers/celery/src/airflow/providers/celery/version_compat.py index 9dbb0942ea72f..ac41e422e43c1 100644 --- a/providers/celery/src/airflow/providers/celery/version_compat.py +++ b/providers/celery/src/airflow/providers/celery/version_compat.py @@ -16,6 +16,8 @@ # under the License. from __future__ import annotations +from airflow.providers.common.compat.sdk import timeout + def get_base_airflow_version_tuple() -> tuple[int, int, int]: from packaging.version import Version @@ -28,10 +30,4 @@ def get_base_airflow_version_tuple() -> tuple[int, int, int]: AIRFLOW_V_3_0_PLUS = get_base_airflow_version_tuple() >= (3, 0, 0) -try: - from airflow.sdk.execution_time.timeout import timeout -except ImportError: - from airflow.utils.timeout import timeout # type: ignore[assignment,attr-defined,no-redef] - - __all__ = ["AIRFLOW_V_3_0_PLUS", "timeout"] diff --git a/providers/fab/www-hash.txt b/providers/fab/www-hash.txt index d2d9c54860bd0..364aa811df1fc 100644 --- a/providers/fab/www-hash.txt +++ b/providers/fab/www-hash.txt @@ -1 +1 @@ -97ae8e1dead753651cf12be1b8bc7ead5c7852a8ee4f9a9ccb3ea61e0b524277 +7bc781a43ac0f7f173e220d21d934033fcc3304a432a4c89bbadca9178825a6e