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

potiuk pushed a commit to branch backport-05a1c9c-v3-1-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 354b278cd6b9f7cdc7307087343311210779fe54
Author: Tzu-ping Chung <[email protected]>
AuthorDate: Thu Feb 26 15:51:50 2026 +0800

    Temporarily pin virtualenv to resolve build issues (#62503)
    
    (cherry picked from commit 05a1c9c4e735baeb3b68af162737cc46d58d27d5)
---
 .github/workflows/airflow-distributions-tests.yml                     | 3 ++-
 dev/breeze/pyproject.toml                                             | 1 +
 dev/breeze/src/airflow_breeze/commands/release_management_commands.py | 4 +++-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/airflow-distributions-tests.yml 
b/.github/workflows/airflow-distributions-tests.yml
index 2fa88a157e0..ea291e17fd4 100644
--- a/.github/workflows/airflow-distributions-tests.yml
+++ b/.github/workflows/airflow-distributions-tests.yml
@@ -111,9 +111,10 @@ jobs:
         env:
           DISTRIBUTION_TYPE: "${{ inputs.distribution-cmd-format }}"
           USE_LOCAL_HATCH: "${{ inputs.use-local-venv }}"
+        # Pin on virtualenv is temporary for pypa/hatch#2193
         run: |
           uv tool uninstall hatch || true
-          uv tool install hatch==1.16.4
+          uv tool install hatch==1.16.4 --with 'virtualenv<21'
           breeze release-management "${DISTRIBUTION_TYPE}" 
--distribution-format wheel
         if: ${{ matrix.python-version == inputs.default-python-version }}
       - name: "Verify wheel packages with twine"
diff --git a/dev/breeze/pyproject.toml b/dev/breeze/pyproject.toml
index 2bd0dc30568..d5ee7f82128 100644
--- a/dev/breeze/pyproject.toml
+++ b/dev/breeze/pyproject.toml
@@ -55,6 +55,7 @@ dependencies = [
     "google-auth-oauthlib>=1.2.0",
     "gitpython>=3.1.40",
     "hatch>=1.16.4",
+    "virtualenv<21",  # Temporary pin for pypa/hatch#2193
     "inputimeout>=1.0.4",
     "jinja2>=3.1.5",
     "jsonschema>=4.19.1",
diff --git 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
index 70cf9439e29..4b98cb01a42 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -263,6 +263,7 @@ HATCH_VERSION = "1.16.4"
 PYYAML_VERSION = "6.0.3"
 
 # prek environment and this is done with node, no python installation is 
needed.
+# Pin on virtualenv is temporary for pypa/hatch#2193
 AIRFLOW_BUILD_DOCKERFILE = f"""
 # syntax=docker/dockerfile:1.4
 FROM 
python:{DEFAULT_PYTHON_MAJOR_MINOR_VERSION}-slim-{ALLOWED_DEBIAN_VERSIONS[0]}
@@ -271,7 +272,8 @@ RUN pip install uv=={UV_VERSION}
 RUN 
--mount=type=cache,id=cache-airflow-build-dockerfile-installation,target=/root/.cache/
 \
   uv pip install --system ignore pip=={AIRFLOW_PIP_VERSION} 
hatch=={HATCH_VERSION} \
   pyyaml=={PYYAML_VERSION} gitpython=={GITPYTHON_VERSION} rich=={RICH_VERSION} 
\
-  prek=={PREK_VERSION}
+  prek=={PREK_VERSION} \
+  'virtualenv<21'
 COPY . /opt/airflow
 """
 

Reply via email to