diff --git a/.env b/.env index dad867f8f66..6d64d284780 100644 --- a/.env +++ b/.env @@ -102,8 +102,8 @@ VCPKG="4334d8b4c8916018600212ab4dd4bbdc343065d1" # 2025.09.17 Release # 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=2025-10-13 -PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2025-10-13 +PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2026-01-22 +PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2026-01-22 # Use conanio/${CONAN_BASE}:{CONAN_VERSION} for "docker compose run --rm conan". # See https://github.com/conan-io/conan-docker-tools#readme and diff --git a/ci/docker/python-wheel-windows-vs2022-base.dockerfile b/ci/docker/python-wheel-windows-vs2022-base.dockerfile index e63b8fc9945..426286ebe07 100644 --- a/ci/docker/python-wheel-windows-vs2022-base.dockerfile +++ b/ci/docker/python-wheel-windows-vs2022-base.dockerfile @@ -89,14 +89,15 @@ RUN ` # See https://docs.python.org/dev/using/windows.html#python-install-manager and # https://www.python.org/ftp/python/pymanager/ RUN ` - $pymanager_url = 'https://www.python.org/ftp/python/pymanager/python-manager-25.0.msix'; ` - Invoke-WebRequest -Uri $pymanager_url -OutFile 'C:\Windows\pymanager.msix'; ` - Add-AppxPackage C:\Windows\pymanager.msix + $pymanager_url = 'https://www.python.org/ftp/python/pymanager/python-manager-25.0.msi'; ` + Invoke-WebRequest -Uri $pymanager_url -OutFile 'C:\Windows\pymanager.msi'; ` + Start-Process msiexec.exe -Wait -ArgumentList '/i C:\Windows\pymanager.msi /quiet /norestart'; ` + Remove-Item C:\Windows\pymanager.msi SHELL ["cmd", "/S", "/C"] # Install CMake and other tools -ARG cmake=3.31.2 +ARG cmake=3.31.9 RUN choco install --no-progress -r -y cmake --version=%cmake% --installargs 'ADD_CMAKE_TO_PATH=System' RUN choco install --no-progress -r -y git gzip ninja wget diff --git a/ci/docker/python-wheel-windows-vs2022.dockerfile b/ci/docker/python-wheel-windows-vs2022.dockerfile index d4d5e57cd2c..e25ebef156c 100644 --- a/ci/docker/python-wheel-windows-vs2022.dockerfile +++ b/ci/docker/python-wheel-windows-vs2022.dockerfile @@ -24,14 +24,16 @@ FROM ${base} # Define the full version number otherwise choco falls back to patch number 0 (3.10 => 3.10.0) ARG python=3.10 -ARG python_variant=default -ENV PYTHON_VERSION=${python} -ENV PYTHON_VARIANT=${python_variant} -RUN pymanager install --version %PYTHON_VERSION% --variant %PYTHON_VARIANT% +ARG python_variant_suffix="" +ENV PYTHON_VERSION=${python}${python_variant_suffix} + +RUN pymanager install %PYTHON_VERSION% RUN py -%PYTHON_VERSION% -m pip install -U pip setuptools COPY python/requirements-wheel-build.txt C:/arrow/python/ RUN py -%PYTHON_VERSION% -m pip install -r C:/arrow/python/requirements-wheel-build.txt +ENV PYTHON_CMD="py -${python}${python_variant_suffix}" + ENV PYTHON=${python} diff --git a/compose.yaml b/compose.yaml index 2bd38a381e8..b538a00795e 100644 --- a/compose.yaml +++ b/compose.yaml @@ -1388,7 +1388,6 @@ services: args: base: ${REPO}:python-wheel-windows-vs2022-base-vcpkg-${VCPKG}-${PYTHON_WHEEL_WINDOWS_IMAGE_REVISION} python: ${PYTHON} - python_variant: default context: . dockerfile: ci/docker/python-wheel-windows-vs2022.dockerfile # This should make the pushed images reusable, but the image gets rebuilt. @@ -1405,7 +1404,7 @@ services: args: base: ${REPO}:python-wheel-windows-vs2022-base-vcpkg-${VCPKG}-${PYTHON_WHEEL_WINDOWS_IMAGE_REVISION} python: ${PYTHON} - python_variant: freethreaded + python_variant_suffix: t context: . dockerfile: ci/docker/python-wheel-windows-vs2022.dockerfile # This should make the pushed images reusable, but the image gets rebuilt.