This is an automated email from the ASF dual-hosted git repository.

shahar1 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 a4ea3ffc405 Fix LatestBoto CI test stuck at boto3 1.38.2 (below 
provider minimum) (#68122)
a4ea3ffc405 is described below

commit a4ea3ffc405264eaf028b1ef3b17f6829589ff5b
Author: Shahar Epstein <[email protected]>
AuthorDate: Sat Jun 6 12:24:39 2026 +0300

    Fix LatestBoto CI test stuck at boto3 1.38.2 (below provider minimum) 
(#68122)
    
    The `check_boto_upgrade()` function in `entrypoint_ci.sh` was capping 
boto3/botocore
    at `<1.38.3` to prevent urllib3 2.6.0 from being pulled in (it had removed
    `getheaders()`, breaking the kubernetes client). That workaround was 
applied in
    Dec 2025 alongside a `urllib3<2.6.0` pin.
    
    Since then, urllib3 2.6.1+ restored `getheaders()`, and the other affected 
files
    (`kubernetes-tests/pyproject.toml`, 
`providers/cncf/kubernetes/pyproject.toml`)
    were already updated to `urllib3!=2.6.0` (PR #59203). The `entrypoint_ci.sh`
    was missed.
    
    Result: the LatestBoto CI job was installing boto3 1.38.2, which is below 
the
    amazon provider's declared minimum (`boto3>=1.41.0`) and predates the 
addition of
    the `bedrock-agentcore-control` and `bedrock-agentcore` services to 
botocore,
    causing unrelated test failures for new operators that use those services.
    
    Fix: remove the boto3/botocore upper bounds and change `urllib3<2.6.0` to
    `urllib3!=2.6.0`, consistent with the rest of the repo.
---
 Dockerfile.ci                   | 6 +++---
 scripts/docker/entrypoint_ci.sh | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/Dockerfile.ci b/Dockerfile.ci
index 144b118ad69..76dd3f1a5e8 100644
--- a/Dockerfile.ci
+++ b/Dockerfile.ci
@@ -1400,11 +1400,11 @@ function check_boto_upgrade() {
     # shellcheck disable=SC2086
     ${PACKAGING_TOOL_CMD} uninstall ${EXTRA_UNINSTALL_FLAGS} aiobotocore s3fs 
|| true
 
-    # Urllib 2.6.0 breaks kubernetes client because kubernetes client uses 
deprecated in 2.0.0 and
-    # removed in 2.6.0 `getheaders()` call (instead of `headers` property.
+    # Urllib 2.6.0 broke kubernetes client by removing getheaders() (restored 
in 2.6.1+).
+    # Exclude exactly 2.6.0; any other version is fine.
     # Tracked in https://github.com/kubernetes-client/python/issues/2477
     # shellcheck disable=SC2086
-    ${PACKAGING_TOOL_CMD} install ${EXTRA_INSTALL_FLAGS} --upgrade 
"boto3<1.38.3" "botocore<1.38.3" "urllib3<2.6.0"
+    ${PACKAGING_TOOL_CMD} install ${EXTRA_INSTALL_FLAGS} --upgrade "boto3" 
"botocore" "urllib3!=2.6.0"
 }
 
 function check_upgrade_sqlalchemy() {
diff --git a/scripts/docker/entrypoint_ci.sh b/scripts/docker/entrypoint_ci.sh
index cb995496ee1..efaac95c996 100755
--- a/scripts/docker/entrypoint_ci.sh
+++ b/scripts/docker/entrypoint_ci.sh
@@ -324,11 +324,11 @@ function check_boto_upgrade() {
     # shellcheck disable=SC2086
     ${PACKAGING_TOOL_CMD} uninstall ${EXTRA_UNINSTALL_FLAGS} aiobotocore s3fs 
|| true
 
-    # Urllib 2.6.0 breaks kubernetes client because kubernetes client uses 
deprecated in 2.0.0 and
-    # removed in 2.6.0 `getheaders()` call (instead of `headers` property.
+    # Urllib 2.6.0 broke kubernetes client by removing getheaders() (restored 
in 2.6.1+).
+    # Exclude exactly 2.6.0; any other version is fine.
     # Tracked in https://github.com/kubernetes-client/python/issues/2477
     # shellcheck disable=SC2086
-    ${PACKAGING_TOOL_CMD} install ${EXTRA_INSTALL_FLAGS} --upgrade 
"boto3<1.38.3" "botocore<1.38.3" "urllib3<2.6.0"
+    ${PACKAGING_TOOL_CMD} install ${EXTRA_INSTALL_FLAGS} --upgrade "boto3" 
"botocore" "urllib3!=2.6.0"
 }
 
 # Upgrade sqlalchemy to the latest version to run tests with it

Reply via email to