From d15a6030577eea92154fd11bcd430e069fa4ec26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 2 Jun 2026 15:17:40 +0200 Subject: [PATCH 1/9] GH-48028: [Python][Packaging] Update quay.io base manylinux and musllinux images for Python wheels --- compose.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compose.yaml b/compose.yaml index f527a835a3ba..216562ebefac 100644 --- a/compose.yaml +++ b/compose.yaml @@ -1168,7 +1168,7 @@ services: args: arch: ${ARCH} arch_short: ${ARCH_SHORT} - base: quay.io/pypa/manylinux_2_28_${ARCH_ALIAS}:2025-06-04-496f7e1 + base: quay.io/pypa/manylinux_2_28_${ARCH_ALIAS}:2026.05.31-3 manylinux: 2_28 python: ${PYTHON} python_abi_tag: ${PYTHON_ABI_TAG} @@ -1193,7 +1193,7 @@ services: args: arch: ${ARCH} arch_short: ${ARCH_SHORT} - base: quay.io/pypa/musllinux_1_2_${ARCH_ALIAS}:2025-06-04-496f7e1 + base: quay.io/pypa/musllinux_1_2_${ARCH_ALIAS}:2026.05.31-3 musllinux: 1_2 python: ${PYTHON} python_abi_tag: ${PYTHON_ABI_TAG} From 473ca7aa2cea25f0d72284cf707f8f963a86d1a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 3 Jun 2026 12:53:52 +0200 Subject: [PATCH 2/9] Try using mold linker instead of ld shipped with musllinux --- ci/docker/python-wheel-musllinux.dockerfile | 10 ++++++++++ ci/scripts/python_wheel_xlinux_build.sh | 2 ++ 2 files changed, 12 insertions(+) diff --git a/ci/docker/python-wheel-musllinux.dockerfile b/ci/docker/python-wheel-musllinux.dockerfile index 40b7bceda084..ef76f149ae1f 100644 --- a/ci/docker/python-wheel-musllinux.dockerfile +++ b/ci/docker/python-wheel-musllinux.dockerfile @@ -41,6 +41,16 @@ RUN apk add --no-cache \ # We will be able to use the main repo once we move to alpine 3.22 or later. RUN apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community mono +# The GNU ld 2.44 shipped in the Alpine 3.22 base image miscompiles the +# statically linked Protobuf descriptor tables on x86_64, which makes +# "import pyarrow" abort at startup with: +# Invalid file descriptor data passed to EncodedDescriptorDatabase::Add() +# Link with mold to work around it. mold is only installed (and therefore +# only used) on x86_64; arm64 is unaffected and falls back to the default +# linker when ARROW_USE_MOLD is set but mold isn't found. +ENV ARROW_USE_MOLD=ON +RUN if [ "${arch}" = "amd64" ]; then apk add --no-cache mold; fi + # A system Python is required for ninja and vcpkg in this Dockerfile. # On musllinux_1_2 a system python is installed (3.12) but pip is not # We therefore override the PATH with Python 3.10 in /opt/python diff --git a/ci/scripts/python_wheel_xlinux_build.sh b/ci/scripts/python_wheel_xlinux_build.sh index 223bd0b1cbae..f810b68c0c50 100755 --- a/ci/scripts/python_wheel_xlinux_build.sh +++ b/ci/scripts/python_wheel_xlinux_build.sh @@ -68,6 +68,7 @@ echo "=== (${PYTHON_VERSION}) Building Arrow C++ libraries ===" : ${ARROW_SUBSTRAIT:=ON} : ${ARROW_S3:=ON} : ${ARROW_TENSORFLOW:=ON} +: ${ARROW_USE_MOLD:=OFF} : ${ARROW_WITH_BROTLI:=ON} : ${ARROW_WITH_BZ2:=ON} : ${ARROW_WITH_LZ4:=ON} @@ -128,6 +129,7 @@ cmake \ -DARROW_SUBSTRAIT=${ARROW_SUBSTRAIT} \ -DARROW_TENSORFLOW=${ARROW_TENSORFLOW} \ -DARROW_USE_CCACHE=ON \ + -DARROW_USE_MOLD=${ARROW_USE_MOLD} \ -DARROW_WITH_BROTLI=${ARROW_WITH_BROTLI} \ -DARROW_WITH_BZ2=${ARROW_WITH_BZ2} \ -DARROW_WITH_LZ4=${ARROW_WITH_LZ4} \ From bd3d2e5a0c94b558acae8718e2907011f7ec1520 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 3 Jun 2026 16:14:33 +0200 Subject: [PATCH 3/9] Make mold unconditional on musllinux --- ci/docker/python-wheel-musllinux.dockerfile | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/ci/docker/python-wheel-musllinux.dockerfile b/ci/docker/python-wheel-musllinux.dockerfile index ef76f149ae1f..1ddbcfb81e40 100644 --- a/ci/docker/python-wheel-musllinux.dockerfile +++ b/ci/docker/python-wheel-musllinux.dockerfile @@ -41,15 +41,13 @@ RUN apk add --no-cache \ # We will be able to use the main repo once we move to alpine 3.22 or later. RUN apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community mono -# The GNU ld 2.44 shipped in the Alpine 3.22 base image miscompiles the -# statically linked Protobuf descriptor tables on x86_64, which makes -# "import pyarrow" abort at startup with: +# The linker shipped in Alpine (ld 2.44) causes issue with the generated wheel +# on x86_64 which makes "import pyarrow" abort at startup with: # Invalid file descriptor data passed to EncodedDescriptorDatabase::Add() -# Link with mold to work around it. mold is only installed (and therefore -# only used) on x86_64; arm64 is unaffected and falls back to the default -# linker when ARROW_USE_MOLD is set but mold isn't found. +# See: GH-48028 +# Link with mold to work around it. ENV ARROW_USE_MOLD=ON -RUN if [ "${arch}" = "amd64" ]; then apk add --no-cache mold; fi +RUN apk add --no-cache mold # A system Python is required for ninja and vcpkg in this Dockerfile. # On musllinux_1_2 a system python is installed (3.12) but pip is not From 5da462a75dfd3836e8af0a0019217974ffa96c24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 3 Jun 2026 16:30:22 +0200 Subject: [PATCH 4/9] Drop Python 3.13 free threaded builds --- ...ux-apt-python-313-freethreading.dockerfile | 59 ------------------- ...ed-wheel-manylinux-test-imports.dockerfile | 2 +- ...-wheel-manylinux-test-unittests.dockerfile | 2 +- ...ed-wheel-musllinux-test-imports.dockerfile | 5 +- ...-wheel-musllinux-test-unittests.dockerfile | 5 +- ...eaded-wheel-windows-test-vs2022.dockerfile | 18 ++---- ci/scripts/install_python.sh | 5 +- ci/scripts/python_wheel_unix_test.sh | 9 +-- compose.yaml | 27 --------- dev/tasks/tasks.yml | 8 --- 10 files changed, 16 insertions(+), 124 deletions(-) delete mode 100644 ci/docker/linux-apt-python-313-freethreading.dockerfile diff --git a/ci/docker/linux-apt-python-313-freethreading.dockerfile b/ci/docker/linux-apt-python-313-freethreading.dockerfile deleted file mode 100644 index ceed5bac7e70..000000000000 --- a/ci/docker/linux-apt-python-313-freethreading.dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -ARG base -FROM ${base} - -RUN apt-get update -y -q && \ - apt install -y -q --no-install-recommends software-properties-common gpg-agent && \ - add-apt-repository -y ppa:deadsnakes/ppa && \ - apt-get update -y -q && \ - apt install -y -q --no-install-recommends python3.13-dev python3.13-nogil python3.13-venv && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists* - -COPY python/requirements-build.txt \ - python/requirements-test-3.13t.txt \ - /arrow/python/ - -ENV ARROW_PYTHON_VENV /arrow-dev -RUN python3.13t -m venv ${ARROW_PYTHON_VENV} -RUN ${ARROW_PYTHON_VENV}/bin/python -m pip install -U pip setuptools wheel -RUN ${ARROW_PYTHON_VENV}/bin/python -m pip install \ - --pre \ - --prefer-binary \ - --extra-index-url "https://pypi.anaconda.org/scientific-python-nightly-wheels/simple" \ - -r arrow/python/requirements-build.txt \ - -r arrow/python/requirements-test-3.13t.txt - -# We want to run the PyArrow test suite with the GIL disabled, but cffi -# (more precisely, the `_cffi_backend` module) currently doesn't declare -# itself safe to run without the GIL. -# Therefore set PYTHON_GIL to 0. -ENV ARROW_ACERO=ON \ - ARROW_BUILD_STATIC=OFF \ - ARROW_BUILD_TESTS=OFF \ - ARROW_BUILD_UTILITIES=OFF \ - ARROW_COMPUTE=ON \ - ARROW_CSV=ON \ - ARROW_DATASET=ON \ - ARROW_FILESYSTEM=ON \ - ARROW_GDB=ON \ - ARROW_HDFS=ON \ - ARROW_JSON=ON \ - ARROW_USE_GLOG=OFF \ - PYTHON_GIL=0 diff --git a/ci/docker/python-free-threaded-wheel-manylinux-test-imports.dockerfile b/ci/docker/python-free-threaded-wheel-manylinux-test-imports.dockerfile index e4149821de36..4a9a695230be 100644 --- a/ci/docker/python-free-threaded-wheel-manylinux-test-imports.dockerfile +++ b/ci/docker/python-free-threaded-wheel-manylinux-test-imports.dockerfile @@ -18,7 +18,7 @@ ARG base FROM ${base} -ARG python_version=3.13 +ARG python_version=3.14 ENV DEBIAN_FRONTEND=noninteractive diff --git a/ci/docker/python-free-threaded-wheel-manylinux-test-unittests.dockerfile b/ci/docker/python-free-threaded-wheel-manylinux-test-unittests.dockerfile index 566f0c0402a1..fe1a367e69eb 100644 --- a/ci/docker/python-free-threaded-wheel-manylinux-test-unittests.dockerfile +++ b/ci/docker/python-free-threaded-wheel-manylinux-test-unittests.dockerfile @@ -18,7 +18,7 @@ ARG base FROM ${base} -ARG python_version=3.13 +ARG python_version=3.14 ENV DEBIAN_FRONTEND=noninteractive diff --git a/ci/docker/python-free-threaded-wheel-musllinux-test-imports.dockerfile b/ci/docker/python-free-threaded-wheel-musllinux-test-imports.dockerfile index e2e4eb8f9918..af56749202d4 100644 --- a/ci/docker/python-free-threaded-wheel-musllinux-test-imports.dockerfile +++ b/ci/docker/python-free-threaded-wheel-musllinux-test-imports.dockerfile @@ -18,7 +18,7 @@ ARG base FROM ${base} -ARG python_version=3.13 +ARG python_version=3.14 ARG arch=aarch64 ARG build_date @@ -35,8 +35,7 @@ RUN apk update && \ # See available releases at: https://github.com/astral-sh/python-build-standalone/releases RUN set -e; \ case "${python_version}" in \ - 3.13) python_patch_version="3.13.9";; \ - 3.14) python_patch_version="3.14.0";; \ + 3.14) python_patch_version="3.14.5";; \ esac && \ curl -L -o python.tar.zst \ https://github.com/astral-sh/python-build-standalone/releases/download/${build_date}/cpython-${python_patch_version}+${build_date}-${arch}-unknown-linux-musl-freethreaded+lto-full.tar.zst && \ diff --git a/ci/docker/python-free-threaded-wheel-musllinux-test-unittests.dockerfile b/ci/docker/python-free-threaded-wheel-musllinux-test-unittests.dockerfile index 53ae58c7933a..7efcd2107a81 100644 --- a/ci/docker/python-free-threaded-wheel-musllinux-test-unittests.dockerfile +++ b/ci/docker/python-free-threaded-wheel-musllinux-test-unittests.dockerfile @@ -18,7 +18,7 @@ ARG base FROM ${base} -ARG python_version=3.13 +ARG python_version=3.14 ARG arch=aarch64 ARG build_date @@ -37,8 +37,7 @@ RUN apk update && \ # See available releases at: https://github.com/astral-sh/python-build-standalone/releases RUN set -e; \ case "${python_version}" in \ - 3.13) python_patch_version="3.13.9";; \ - 3.14) python_patch_version="3.14.0";; \ + 3.14) python_patch_version="3.14.5";; \ esac && \ curl -L -o python.tar.zst \ https://github.com/astral-sh/python-build-standalone/releases/download/${build_date}/cpython-${python_patch_version}+${build_date}-${arch}-unknown-linux-musl-freethreaded+lto-full.tar.zst && \ diff --git a/ci/docker/python-free-threaded-wheel-windows-test-vs2022.dockerfile b/ci/docker/python-free-threaded-wheel-windows-test-vs2022.dockerfile index ab257b271e58..d0d9793d1f71 100644 --- a/ci/docker/python-free-threaded-wheel-windows-test-vs2022.dockerfile +++ b/ci/docker/python-free-threaded-wheel-windows-test-vs2022.dockerfile @@ -24,11 +24,10 @@ ARG base # hadolint ignore=DL3006 FROM ${base} -ARG python=3.13 +ARG python=3.14 # hadolint ignore=SC1072 -RUN (if "%python%"=="3.13" setx PYTHON_VERSION "3.13.1") & \ - (if "%python%"=="3.14" setx PYTHON_VERSION "3.14.0") +RUN (if "%python%"=="3.14" setx PYTHON_VERSION "3.14.5") SHELL ["powershell", "-NoProfile", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] RUN $version = $env:PYTHON_VERSION; \ @@ -40,20 +39,15 @@ RUN $version = $env:PYTHON_VERSION; \ ENV PYTHON_CMD="py -${python}t" SHELL ["cmd", "/S", "/C"] -RUN %PYTHON_CMD% -m pip install -U pip setuptools & \ - if "%python%"=="3.13" ( \ - setx REQUIREMENTS_FILE "requirements-wheel-test-3.13t.txt" \ - ) else ( \ - setx REQUIREMENTS_FILE "requirements-wheel-test.txt" \ - ) - -COPY python/requirements-wheel-test-3.13t.txt python/requirements-wheel-test.txt C:/arrow/python/ +RUN %PYTHON_CMD% -m pip install -U pip setuptools + +COPY python/requirements-wheel-test.txt C:/arrow/python/ # Cython and Pandas wheels for free-threaded are not released yet RUN %PYTHON_CMD% -m pip install \ --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple \ --pre \ --prefer-binary \ - -r C:/arrow/python/%REQUIREMENTS_FILE% + -r C:/arrow/python/requirements-wheel-test.txt ENV PYTHON="${python}t" ENV PYTHON_GIL=0 diff --git a/ci/scripts/install_python.sh b/ci/scripts/install_python.sh index c683d2b883fa..b02a6ce63eae 100755 --- a/ci/scripts/install_python.sh +++ b/ci/scripts/install_python.sh @@ -29,7 +29,6 @@ versions=([3.10]=3.10.11 [3.11]=3.11.9 [3.12]=3.12.10 [3.13]=3.13.9 - [3.13t]=3.13.9 [3.14]=3.14.0 [3.14t]=3.14.0) @@ -52,7 +51,7 @@ if [ "$platform" = "macOS" ]; then wget "https://www.python.org/ftp/python/${full_version}/${fname}" echo "Installing Python..." - if [[ $2 == "3.13t" ]] || [[ $2 == "3.14t" ]]; then + if [[ $2 == "3.14t" ]]; then # Extract the base version without 't' suffix base_version="${version%t}" # See https://github.com/python/cpython/issues/120098#issuecomment-2151122033 for more info on this. @@ -80,7 +79,7 @@ EOF rm "$fname" python="/Library/Frameworks/Python.framework/Versions/${version}/bin/python${version}" - if [[ $2 == "3.13t" ]] || [[ $2 == "3.14t" ]]; then + if [[ $2 == "3.14t" ]]; then base_version="${version%t}" python="/Library/Frameworks/PythonT.framework/Versions/${base_version}/bin/python${base_version}t" fi diff --git a/ci/scripts/python_wheel_unix_test.sh b/ci/scripts/python_wheel_unix_test.sh index 2b8ee7be7457..1b024bc78ad0 100755 --- a/ci/scripts/python_wheel_unix_test.sh +++ b/ci/scripts/python_wheel_unix_test.sh @@ -106,13 +106,8 @@ is_free_threaded() { if [ "${CHECK_UNITTESTS}" == "ON" ]; then # Install testing dependencies - if [ "$(is_free_threaded)" = "ON" ] && [[ "${PYTHON:-}" == *"3.13"* ]]; then - echo "Free-threaded Python 3.13 build detected" - python -m pip install -U -r "${source_dir}/python/requirements-wheel-test-3.13t.txt" - else - echo "Regular Python build detected" - python -m pip install -U -r "${source_dir}/python/requirements-wheel-test.txt" - fi + echo "Regular Python build detected" + python -m pip install -U -r "${source_dir}/python/requirements-wheel-test.txt" # Execute unittest, test dependencies must be installed python -c 'import pyarrow; pyarrow.create_library_symlinks()' diff --git a/compose.yaml b/compose.yaml index 216562ebefac..3cd772ac80d6 100644 --- a/compose.yaml +++ b/compose.yaml @@ -145,7 +145,6 @@ x-hierarchy: - ubuntu-ruby - ubuntu-python - ubuntu-python-sdist-test - - ubuntu-python-313-freethreading - ubuntu-r - ubuntu-r-only-r - ubuntu-cpp-bundled @@ -1132,32 +1131,6 @@ services: /arrow/ci/scripts/cpp_build.sh /arrow /build && /arrow/ci/scripts/python_sdist_test.sh /arrow" - ############################ Python free-threading ########################## - - ubuntu-python-313-freethreading: - # Usage: - # docker compose build ubuntu-cpp - # docker compose build ubuntu-python-313-freethreading - # docker compose run --rm ubuntu-python-313-freethreading - # Parameters: - # ARCH: amd64, arm64v8, ... - # UBUNTU: 22.04, 24.04 - image: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-python-313-freethreading - build: - context: . - dockerfile: ci/docker/linux-apt-python-313-freethreading.dockerfile - cache_from: - - ${REPO}:${ARCH}-ubuntu-${UBUNTU}-python-313-freethreading - args: - base: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-cpp - shm_size: *shm-size - environment: - <<: [*common, *ccache] - # Bundled build of OpenTelemetry needs a git client - ARROW_WITH_OPENTELEMETRY: "OFF" - volumes: *ubuntu-volumes - command: *python-command - ############################ Python wheels ################################## # See available versions at: diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index 2d2b9ae39e41..daf6627ab15e 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -538,14 +538,6 @@ tasks: PYTEST_ARGS: "-m hypothesis -W error" image: conda-python-pandas - test-ubuntu-22.04-python-313-freethreading: - ci: github - template: docker-tests/github.linux.yml - params: - env: - UBUNTU: 22.04 - image: ubuntu-python-313-freethreading - {% for debian_version in ["13"] %} test-debian-{{ debian_version }}-python-3-amd64: ci: github From df5d4260a7acf5f36c1b0433a725f65e2eff88ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 3 Jun 2026 16:35:25 +0200 Subject: [PATCH 5/9] Remove unnecessary requirements specific for 3.13t --- python/requirements-test-3.13t.txt | 5 ----- python/requirements-wheel-test-3.13t.txt | 9 --------- 2 files changed, 14 deletions(-) delete mode 100644 python/requirements-test-3.13t.txt delete mode 100644 python/requirements-wheel-test-3.13t.txt diff --git a/python/requirements-test-3.13t.txt b/python/requirements-test-3.13t.txt deleted file mode 100644 index 9c2e8de25eb2..000000000000 --- a/python/requirements-test-3.13t.txt +++ /dev/null @@ -1,5 +0,0 @@ -hypothesis -packaging -pandas -pytest -pytz diff --git a/python/requirements-wheel-test-3.13t.txt b/python/requirements-wheel-test-3.13t.txt deleted file mode 100644 index 009b7d6b31f5..000000000000 --- a/python/requirements-wheel-test-3.13t.txt +++ /dev/null @@ -1,9 +0,0 @@ -cython -hypothesis -numpy~=2.1.0 -packaging -pandas -pytest -pytz -requests; sys_platform == 'win32' -tzdata; sys_platform == 'win32' From e1a4895a506093f96dab5b48af293f69d403530e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 3 Jun 2026 16:44:20 +0200 Subject: [PATCH 6/9] Push missing file save --- dev/tasks/tasks.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index daf6627ab15e..f7cb2b92addd 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -142,7 +142,6 @@ tasks: ("3.11", "cp311", "cp311"), ("3.12", "cp312", "cp312"), ("3.13", "cp313", "cp313"), - ("3.13", "cp313", "cp313t"), ("3.14", "cp314", "cp314"), ("3.14", "cp314", "cp314t")] %} From a02798b0fc3a3ae219b715a4b550b578b8e5903b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 3 Jun 2026 17:48:36 +0200 Subject: [PATCH 7/9] Remove now unused is_free_threaded function --- ci/scripts/python_wheel_unix_test.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ci/scripts/python_wheel_unix_test.sh b/ci/scripts/python_wheel_unix_test.sh index 1b024bc78ad0..f2b99485c619 100755 --- a/ci/scripts/python_wheel_unix_test.sh +++ b/ci/scripts/python_wheel_unix_test.sh @@ -100,10 +100,6 @@ if [ "${CHECK_WHEEL_CONTENT}" == "ON" ]; then --path "${source_dir}/python/repaired_wheels" fi -is_free_threaded() { - python -c "import sysconfig; print('ON' if sysconfig.get_config_var('Py_GIL_DISABLED') else 'OFF')" -} - if [ "${CHECK_UNITTESTS}" == "ON" ]; then # Install testing dependencies echo "Regular Python build detected" From fb256c004e3a6a317c3a76ef9aaf4eb378381586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 3 Jun 2026 18:02:43 +0200 Subject: [PATCH 8/9] Remove now misleading comment and update windows-wheel build image revision tag --- .env | 4 ++-- ci/scripts/python_wheel_unix_test.sh | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.env b/.env index b18b98752b34..980dc243b83f 100644 --- a/.env +++ b/.env @@ -98,5 +98,5 @@ VCPKG="9b965a116838c6cdcd36bca60d1b81b030c8ab8d" # 2026.05.27 (not release, u # ci/docker/python-*-windows-*.dockerfile or the vcpkg config. # This is a workaround for our CI problem that "archery docker build" doesn't # use pulled built images in dev/tasks/python-wheels/github.windows.yml. -PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2026-05-27 -PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2026-05-27 +PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2026-06-03 +PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2026-06-03 diff --git a/ci/scripts/python_wheel_unix_test.sh b/ci/scripts/python_wheel_unix_test.sh index f2b99485c619..cb445611e233 100755 --- a/ci/scripts/python_wheel_unix_test.sh +++ b/ci/scripts/python_wheel_unix_test.sh @@ -102,7 +102,6 @@ fi if [ "${CHECK_UNITTESTS}" == "ON" ]; then # Install testing dependencies - echo "Regular Python build detected" python -m pip install -U -r "${source_dir}/python/requirements-wheel-test.txt" # Execute unittest, test dependencies must be installed From 386cf7dc7a92752dc43a11bc0777bf0dccc49504 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 3 Jun 2026 19:09:09 +0200 Subject: [PATCH 9/9] Udate build_date for Python 3.14.5 --- compose.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compose.yaml b/compose.yaml index 3cd772ac80d6..4a4cf60cce13 100644 --- a/compose.yaml +++ b/compose.yaml @@ -1207,7 +1207,7 @@ services: args: base: "${ARCH}/alpine:${ALPINE_LINUX}" python_version: ${PYTHON} - build_date: "20251014" # python-build-standalone release date + build_date: "20260510" # python-build-standalone release date arch: ${ARCH_ALIAS} context: . dockerfile: ci/docker/python-free-threaded-wheel-musllinux-test-imports.dockerfile @@ -1251,7 +1251,7 @@ services: args: base: "${ARCH}/alpine:${ALPINE_LINUX}" python_version: ${PYTHON} - build_date: "20251014" # python-build-standalone release date + build_date: "20260510" # python-build-standalone release date arch: ${ARCH_ALIAS} context: . dockerfile: ci/docker/python-free-threaded-wheel-musllinux-test-unittests.dockerfile