You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by po...@apache.org on 2026/02/26 22:08:15 UTC
(airflow) 01/01: Temporarily pin virtualenv to resolve build issues (#62503)
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 <ur...@gmail.com>
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
"""