This is an automated email from the ASF dual-hosted git repository. potiuk pushed a commit to branch backport-66bf73f-v3-1-test in repository https://gitbox.apache.org/repos/asf/airflow.git
commit db2c836fd2ad5d5562322ffa1cb686349fd69f38 Author: Tzu-ping Chung <[email protected]> AuthorDate: Sat Feb 28 13:52:49 2026 +0800 [v3-1-test] Upgrade Hatch to 1.16.5 and revert virtualenv pin (#62602) (cherry picked from commit 66bf73f2c3033b8c2ca577e4ed6f2a8dbb4658eb) Co-authored-by: Tzu-ping Chung <[email protected]> --- .github/workflows/airflow-distributions-tests.yml | 2 +- dev/breeze/pyproject.toml | 3 +-- .../src/airflow_breeze/commands/release_management_commands.py | 5 ++--- scripts/ci/prek/upgrade_important_versions.py | 4 ++-- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/airflow-distributions-tests.yml b/.github/workflows/airflow-distributions-tests.yml index ea291e17fd4..db69ee894de 100644 --- a/.github/workflows/airflow-distributions-tests.yml +++ b/.github/workflows/airflow-distributions-tests.yml @@ -114,7 +114,7 @@ jobs: # Pin on virtualenv is temporary for pypa/hatch#2193 run: | uv tool uninstall hatch || true - uv tool install hatch==1.16.4 --with 'virtualenv<21' + uv tool install hatch==1.16.5 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 ee667f6c082..0980d87872f 100644 --- a/dev/breeze/pyproject.toml +++ b/dev/breeze/pyproject.toml @@ -54,8 +54,7 @@ dependencies = [ "google-auth-httplib2>=0.2.0", "google-auth-oauthlib>=1.2.0", "gitpython>=3.1.40", - "hatch>=1.16.4", - "virtualenv<21", # Temporary pin for pypa/hatch#2193 + "hatch>=1.16.5", "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 efc5a3952e9..63ec336b599 100644 --- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py +++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py @@ -259,7 +259,7 @@ AIRFLOW_USE_UV = False GITPYTHON_VERSION = "3.1.46" RICH_VERSION = "14.3.3" PREK_VERSION = "0.3.3" -HATCH_VERSION = "1.16.4" +HATCH_VERSION = "1.16.5" PYYAML_VERSION = "6.0.3" # prek environment and this is done with node, no python installation is needed. @@ -272,8 +272,7 @@ 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} \ - 'virtualenv<21' + prek=={PREK_VERSION} COPY . /opt/airflow """ diff --git a/scripts/ci/prek/upgrade_important_versions.py b/scripts/ci/prek/upgrade_important_versions.py index e2ffe4d0f68..bd9137a745b 100755 --- a/scripts/ci/prek/upgrade_important_versions.py +++ b/scripts/ci/prek/upgrade_important_versions.py @@ -672,12 +672,12 @@ def sync_breeze_lock_file() -> None: def resolve_hatchling_build_requires(with_gitpython: bool = False) -> list[str]: """ - Resolve the full transitive dependency list for hatchling (with virtualenv<21) using uv pip compile. + Resolve the full transitive dependency list for hatchling using uv pip compile. When with_gitpython is True, also includes GitPython and its transitive dependencies (gitdb, smmap). Returns a sorted list of pinned requirement strings, with tomli carrying its python_version marker. """ - packages = ["hatchling", "virtualenv<21"] + packages = ["hatchling"] if with_gitpython: packages.append("gitpython")
