This is an automated email from the ASF dual-hosted git repository. potiuk pushed a commit to branch new-providers-layout-2025-12 in repository https://gitbox.apache.org/repos/asf/airflow.git
commit e8c4074a975b4a384ce5fc156b6592d17c4cf3e1 Author: Jarek Potiuk <[email protected]> AuthorDate: Fri Dec 26 23:25:21 2025 +0100 Switch to `pip check` compliant pagefind (#59816) The pagefind before 1.5.0 had multiple tags published in a way that broke `pip check`. This has been tracked in https://github.com/pypa/pip/issues/13709 (cherry picked from commit 2a9b4cf66e32a7ffb19c08d8b318e7403dc0e940) --- Dockerfile | 12 +++++------ Dockerfile.ci | 23 ++++++++++++++-------- devel-common/pyproject.toml | 5 ++++- scripts/docker/entrypoint_ci.sh | 8 ++++++++ scripts/docker/install_additional_dependencies.sh | 2 ++ .../docker/install_airflow_when_building_images.sh | 7 ++----- .../docker/install_from_docker_context_files.sh | 1 + 7 files changed, 38 insertions(+), 20 deletions(-) diff --git a/Dockerfile b/Dockerfile index 94f800a17b6..b0a16655142 100644 --- a/Dockerfile +++ b/Dockerfile @@ -71,7 +71,7 @@ ARG PYTHON_LTO="true" # Also use `force pip` label on your PR to swap all places we use `uv` to `pip` ARG AIRFLOW_PIP_VERSION=25.3 # ARG AIRFLOW_PIP_VERSION="git+https://github.com/pypa/pip.git@main" -ARG AIRFLOW_UV_VERSION=0.9.16 +ARG AIRFLOW_UV_VERSION=0.9.18 ARG AIRFLOW_USE_UV="false" ARG UV_HTTP_TIMEOUT="300" ARG AIRFLOW_IMAGE_REPOSITORY="https://github.com/apache/airflow" @@ -997,6 +997,7 @@ function install_airflow_and_providers_from_docker_context_files(){ "${install_airflow_distribution[@]}" "${install_airflow_core_distribution[@]}" "${airflow_distributions[@]}" set +x common::install_packaging_tools + # We use pip check here to make sure that whatever `uv` installs, is also "correct" according to `pip` pip check } @@ -1237,11 +1238,8 @@ function install_airflow_when_building_images() { echo echo "${COLOR_BLUE}Running 'uv pip check'${COLOR_RESET}" echo - # Here we should use `pip check` not `uv pip check` to detect any incompatibilities that might happen - # between `pip` and `uv` installations - # However, in the current version of `pip` there is a bug that incorrectly detects `pagefind-bin` as unsupported - # https://github.com/pypa/pip/issues/13709 -> once this is fixed, we should bring `pip check` back. - uv pip check + # We use pip check here to make sure that whatever `uv` installs, is also "correct" according to `pip` + pip check } common::get_colors @@ -1276,6 +1274,7 @@ function install_additional_dependencies() { echo echo "${COLOR_BLUE}Running 'pip check'${COLOR_RESET}" echo + # We use pip check here to make sure that whatever `uv` installs, is also "correct" according to `pip` pip check else echo @@ -1290,6 +1289,7 @@ function install_additional_dependencies() { echo echo "${COLOR_BLUE}Running 'pip check'${COLOR_RESET}" echo + # We use pip check here to make sure that whatever `uv` installs, is also "correct" according to `pip` pip check fi } diff --git a/Dockerfile.ci b/Dockerfile.ci index 878bd012fef..23b87bfecd4 100644 --- a/Dockerfile.ci +++ b/Dockerfile.ci @@ -990,11 +990,8 @@ function install_airflow_when_building_images() { echo echo "${COLOR_BLUE}Running 'uv pip check'${COLOR_RESET}" echo - # Here we should use `pip check` not `uv pip check` to detect any incompatibilities that might happen - # between `pip` and `uv` installations - # However, in the current version of `pip` there is a bug that incorrectly detects `pagefind-bin` as unsupported - # https://github.com/pypa/pip/issues/13709 -> once this is fixed, we should bring `pip check` back. - uv pip check + # We use pip check here to make sure that whatever `uv` installs, is also "correct" according to `pip` + pip check } common::get_colors @@ -1029,6 +1026,7 @@ function install_additional_dependencies() { echo echo "${COLOR_BLUE}Running 'pip check'${COLOR_RESET}" echo + # We use pip check here to make sure that whatever `uv` installs, is also "correct" according to `pip` pip check else echo @@ -1043,6 +1041,7 @@ function install_additional_dependencies() { echo echo "${COLOR_BLUE}Running 'pip check'${COLOR_RESET}" echo + # We use pip check here to make sure that whatever `uv` installs, is also "correct" according to `pip` pip check fi } @@ -1359,6 +1358,10 @@ function check_downgrade_sqlalchemy() { echo # shellcheck disable=SC2086 ${PACKAGING_TOOL_CMD} install ${EXTRA_INSTALL_FLAGS} "sqlalchemy[asyncio]==${min_sqlalchemy_version}" + echo + echo "${COLOR_BLUE}Running 'pip check'${COLOR_RESET}" + echo + # We use pip check here to make sure that whatever `uv` installs, is also "correct" according to `pip` pip check } @@ -1373,6 +1376,10 @@ function check_downgrade_pendulum() { echo # shellcheck disable=SC2086 ${PACKAGING_TOOL_CMD} install ${EXTRA_INSTALL_FLAGS} "pendulum==${min_pendulum_version}" + echo + echo "${COLOR_BLUE}Running 'pip check'${COLOR_RESET}" + echo + # We use pip check here to make sure that whatever `uv` installs, is also "correct" according to `pip` pip check } @@ -1613,7 +1620,7 @@ RUN SYSTEM=$(uname -s | tr '[:upper:]' '[:lower:]') \ && chmod +x /usr/local/bin/helm # Install mprocs - a modern process manager for managing multiple Airflow components -ARG MPROCS_VERSION="0.7.3" +ARG MPROCS_VERSION="0.8.1" RUN SYSTEM=$(uname -s | tr '[:upper:]' '[:lower:]') \ && PLATFORM="$(uname -m)" \ @@ -1704,8 +1711,8 @@ COPY --from=scripts common.sh install_packaging_tools.sh install_additional_depe # Also use `force pip` label on your PR to swap all places we use `uv` to `pip` ARG AIRFLOW_PIP_VERSION=25.3 # ARG AIRFLOW_PIP_VERSION="git+https://github.com/pypa/pip.git@main" -ARG AIRFLOW_UV_VERSION=0.9.16 -ARG AIRFLOW_PREK_VERSION="0.2.19" +ARG AIRFLOW_UV_VERSION=0.9.18 +ARG AIRFLOW_PREK_VERSION="0.2.23" # UV_LINK_MODE=copy is needed since we are using cache mounted from the host ENV AIRFLOW_PIP_VERSION=${AIRFLOW_PIP_VERSION} \ diff --git a/devel-common/pyproject.toml b/devel-common/pyproject.toml index cb416120cd3..8ec1a310df7 100644 --- a/devel-common/pyproject.toml +++ b/devel-common/pyproject.toml @@ -76,7 +76,10 @@ dependencies = [ "rich-click>=1.7.1", "click>=8.1.8", "docutils>=0.21", - "pagefind[bin]", + # TODO: replace with "pagefind[bin]>=1.5.0" when released - you need to have "release" version to get + # the new pagefind-bin installed + "pagefind>=1.5.0a3", + "pagefind-bin>=1.5.0a3", "sphinx-airflow-theme@https://github.com/apache/airflow-site/releases/download/0.3.0/sphinx_airflow_theme-0.3.0-py3-none-any.whl", "sphinx-argparse>=0.4.0", "sphinx-autoapi>=3", diff --git a/scripts/docker/entrypoint_ci.sh b/scripts/docker/entrypoint_ci.sh index dabb4a59eff..cd0b3edfc05 100755 --- a/scripts/docker/entrypoint_ci.sh +++ b/scripts/docker/entrypoint_ci.sh @@ -337,6 +337,10 @@ function check_downgrade_sqlalchemy() { echo # shellcheck disable=SC2086 ${PACKAGING_TOOL_CMD} install ${EXTRA_INSTALL_FLAGS} "sqlalchemy[asyncio]==${min_sqlalchemy_version}" + echo + echo "${COLOR_BLUE}Running 'pip check'${COLOR_RESET}" + echo + # We use pip check here to make sure that whatever `uv` installs, is also "correct" according to `pip` pip check } @@ -352,6 +356,10 @@ function check_downgrade_pendulum() { echo # shellcheck disable=SC2086 ${PACKAGING_TOOL_CMD} install ${EXTRA_INSTALL_FLAGS} "pendulum==${min_pendulum_version}" + echo + echo "${COLOR_BLUE}Running 'pip check'${COLOR_RESET}" + echo + # We use pip check here to make sure that whatever `uv` installs, is also "correct" according to `pip` pip check } diff --git a/scripts/docker/install_additional_dependencies.sh b/scripts/docker/install_additional_dependencies.sh index 8c438b35459..5b59e9ecb63 100644 --- a/scripts/docker/install_additional_dependencies.sh +++ b/scripts/docker/install_additional_dependencies.sh @@ -38,6 +38,7 @@ function install_additional_dependencies() { echo echo "${COLOR_BLUE}Running 'pip check'${COLOR_RESET}" echo + # We use pip check here to make sure that whatever `uv` installs, is also "correct" according to `pip` pip check else echo @@ -52,6 +53,7 @@ function install_additional_dependencies() { echo echo "${COLOR_BLUE}Running 'pip check'${COLOR_RESET}" echo + # We use pip check here to make sure that whatever `uv` installs, is also "correct" according to `pip` pip check fi } diff --git a/scripts/docker/install_airflow_when_building_images.sh b/scripts/docker/install_airflow_when_building_images.sh index adc76c198fc..41a28ea5f22 100644 --- a/scripts/docker/install_airflow_when_building_images.sh +++ b/scripts/docker/install_airflow_when_building_images.sh @@ -203,11 +203,8 @@ function install_airflow_when_building_images() { echo echo "${COLOR_BLUE}Running 'uv pip check'${COLOR_RESET}" echo - # Here we should use `pip check` not `uv pip check` to detect any incompatibilities that might happen - # between `pip` and `uv` installations - # However, in the current version of `pip` there is a bug that incorrectly detects `pagefind-bin` as unsupported - # https://github.com/pypa/pip/issues/13709 -> once this is fixed, we should bring `pip check` back. - uv pip check + # We use pip check here to make sure that whatever `uv` installs, is also "correct" according to `pip` + pip check } common::get_colors diff --git a/scripts/docker/install_from_docker_context_files.sh b/scripts/docker/install_from_docker_context_files.sh index 58f2d8dedf9..987582f35b6 100644 --- a/scripts/docker/install_from_docker_context_files.sh +++ b/scripts/docker/install_from_docker_context_files.sh @@ -122,6 +122,7 @@ function install_airflow_and_providers_from_docker_context_files(){ "${install_airflow_distribution[@]}" "${install_airflow_core_distribution[@]}" "${airflow_distributions[@]}" set +x common::install_packaging_tools + # We use pip check here to make sure that whatever `uv` installs, is also "correct" according to `pip` pip check }
