Skip to content

Commit dc9753c

Browse files
authored
GH-47625: [Python] Free-threaded musllinux and manylinux wheels started failing with cffi 2.0.0 (#47626)
### Rationale for this change Musllinux and manylinux jobs started failing on free-threaded build of CPython 3.13 due to cffi not supporting free-threaded CPython 3.13. ### What changes are included in this PR? Free-threaded 3.13 builds should use separate requirements with no cffi. ### Are these changes tested? Yes, with the extended builds. ### Are there any user-facing changes? No. * GitHub Issue: #47625 Authored-by: AlenkaF <[email protected]> Signed-off-by: Raúl Cumplido <[email protected]>
1 parent 9b96bdb commit dc9753c

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

ci/docker/python-free-threaded-wheel-manylinux-test-unittests.dockerfile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,9 @@ ENV PATH "${ARROW_PYTHON_VENV}/bin:${PATH}"
4141

4242
# pandas doesn't provide wheels for aarch64 yet, so we have to install nightly Cython
4343
# along with the rest of pandas' build dependencies and disable build isolation
44-
COPY python/requirements-wheel-test.txt /arrow/python/
4544
RUN python -m pip install \
4645
--pre \
4746
--prefer-binary \
4847
--extra-index-url "https://pypi.anaconda.org/scientific-python-nightly-wheels/simple" \
4948
Cython numpy
5049
RUN python -m pip install "meson-python==0.13.1" "meson==1.2.1" wheel "versioneer[toml]" ninja
51-
RUN python -m pip install --no-build-isolation -r /arrow/python/requirements-wheel-test.txt

ci/docker/python-free-threaded-wheel-musllinux-test-unittests.dockerfile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,9 @@ RUN cp /usr/share/zoneinfo/Etc/UTC /etc/localtime
5656

5757
# pandas doesn't provide wheels for aarch64 yet, so we have to install nightly Cython
5858
# along with the rest of pandas' build dependencies and disable build isolation
59-
COPY python/requirements-wheel-test.txt /arrow/python/
6059
RUN python -m pip install \
6160
--pre \
6261
--prefer-binary \
6362
--extra-index-url "https://pypi.anaconda.org/scientific-python-nightly-wheels/simple" \
6463
Cython numpy
6564
RUN python -m pip install "meson-python==0.13.1" "meson==1.2.1" wheel "versioneer[toml]" ninja
66-
RUN python -m pip install --no-build-isolation -r /arrow/python/requirements-wheel-test.txt

ci/scripts/python_wheel_unix_test.sh

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,19 @@ if [ "${CHECK_WHEEL_CONTENT}" == "ON" ]; then
100100
--path "${source_dir}/python/repaired_wheels"
101101
fi
102102

103+
is_free_threaded() {
104+
python -c "import sysconfig; print('ON' if sysconfig.get_config_var('Py_GIL_DISABLED') else 'OFF')"
105+
}
106+
103107
if [ "${CHECK_UNITTESTS}" == "ON" ]; then
104108
# Install testing dependencies
105-
python -m pip install -U -r "${source_dir}/python/requirements-wheel-test.txt"
109+
if [ "$(is_free_threaded)" = "ON" ]; then
110+
echo "Free-threaded Python build detected"
111+
python -m pip install -U -r "${source_dir}/python/requirements-wheel-test-3.13t.txt"
112+
elif [ "$(is_free_threaded)" = "OFF" ]; then
113+
echo "Regular Python build detected"
114+
python -m pip install -U -r "${source_dir}/python/requirements-wheel-test.txt"
115+
fi
106116

107117
# Execute unittest, test dependencies must be installed
108118
python -c 'import pyarrow; pyarrow.create_library_symlinks()'

0 commit comments

Comments
 (0)