This is an automated email from the ASF dual-hosted git repository.
jscheffl 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 271bfa6121 Support upper bound in provider dependencies (#40465)
271bfa6121 is described below
commit 271bfa6121a87413df8d57de843409752a87aaea
Author: Jens Scheffler <[email protected]>
AuthorDate: Fri Jun 28 08:12:29 2024 +0200
Support upper bound in provider dependencies (#40465)
---
dev/breeze/src/airflow_breeze/utils/packages.py | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/dev/breeze/src/airflow_breeze/utils/packages.py
b/dev/breeze/src/airflow_breeze/utils/packages.py
index 36b99b8c9f..b11457ed8a 100644
--- a/dev/breeze/src/airflow_breeze/utils/packages.py
+++ b/dev/breeze/src/airflow_breeze/utils/packages.py
@@ -418,6 +418,9 @@ def apply_version_suffix(install_clause: str,
version_suffix: str) -> str:
# `apache-airflow>=2.9.0.dev0` and not `apache-airflow>=2.9.0` because
both packages are
# released together and >= 2.9.0 is not correct reference for
2.9.0.dev0 version of Airflow.
prefix, version = install_clause.split(">=")
+ # If version has a upper limit (e.g. ">=2.10.0,<3.0"), we need to cut
this off not to fail
+ if "," in version:
+ version = version.split(",")[0]
from packaging.version import Version
base_version = Version(version).base_version
@@ -525,6 +528,9 @@ def get_min_airflow_version(provider_id: str) -> str:
for dependency in provider_details.dependencies:
if dependency.startswith("apache-airflow>="):
current_min_airflow_version = dependency.split(">=")[1]
+ # If version has a upper limit (e.g. ">=2.10.0,<3.0"), we need to
cut this off not to fail
+ if "," in current_min_airflow_version:
+ current_min_airflow_version =
current_min_airflow_version.split(",")[0]
if PackagingVersion(current_min_airflow_version) >
PackagingVersion(MIN_AIRFLOW_VERSION):
min_airflow_version = current_min_airflow_version
return min_airflow_version