This is an automated email from the ASF dual-hosted git repository.
lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git
The following commit(s) were added to refs/heads/main by this push:
new 39502ceaf chore(dev/release): verify free-threaded wheels too (#4669)
39502ceaf is described below
commit 39502ceaf6f69943bb6d78fe9d7969cdcec7ef47
Author: David Li <[email protected]>
AuthorDate: Sat Aug 8 20:43:06 2026 +0900
chore(dev/release): verify free-threaded wheels too (#4669)
Closes #3824.
---
dev/release/verify-release-candidate.sh | 67 +++++++++++++++++----------------
1 file changed, 35 insertions(+), 32 deletions(-)
diff --git a/dev/release/verify-release-candidate.sh
b/dev/release/verify-release-candidate.sh
index 1effa884e..701e71d6e 100755
--- a/dev/release/verify-release-candidate.sh
+++ b/dev/release/verify-release-candidate.sh
@@ -400,6 +400,12 @@ maybe_setup_conda() {
# Optionally setup conda environment with the passed dependencies
local env="conda-${CONDA_ENV:-source}"
local pyver=${PYTHON_VERSION:-3}
+ local pymarker=""
+
+ if [[ "$pyver" == *t ]]; then
+ pyver="${pyver%t}"
+ pymarker="python-freethreading"
+ fi
if [ "${USE_CONDA}" -gt 0 ]; then
show_info "Configuring Conda environment..."
@@ -412,7 +418,7 @@ maybe_setup_conda() {
install_conda
# Create environment
if ! conda env list | cut -d" " -f 1 | grep $env; then
- mamba create -y -n $env python=${pyver}
+ mamba create -y -n $env python=${pyver} ${pymarker}
fi
# Install dependencies
if [ $# -gt 0 ]; then
@@ -811,6 +817,30 @@ test_binary_distribution() {
fi
}
+test_unix_wheels() {
+ local arch="${1}"
+ local platform="${2}"
+
+ local python_versions="${TEST_PYTHON_VERSIONS:-3.10 3.11 3.12 3.13 3.14
3.14t}"
+
+ for python in ${python_versions}; do
+ local pyver=${python/t}
+ show_header "Testing Python ${python} wheels for ${platform}/${arch}"
+ CONDA_ENV=wheel-${python}-${arch} PYTHON_VERSION=${python}
maybe_setup_conda || exit 1
+ VENV_ENV=wheel-${python}-${arch} PYTHON_VERSION=${python}
maybe_setup_virtualenv || continue
+
+ if [[ "$python" == *t ]]; then
+ export PYTHON_GIL=0
+ else
+ unset PYTHON_GIL
+ fi
+ pip install --force-reinstall \
+ adbc_*-cp${pyver/.}-cp${python/.}-${platform}*${arch}*.whl \
+ adbc_*-py3-none-${platform}*${arch}*.whl
+ ${ADBC_DIR}/ci/scripts/python_wheel_unix_test.sh ${ADBC_DIR}
+ done
+}
+
test_linux_wheels() {
if [ "$(uname -m)" = "aarch64" ]; then
local arch="aarch64"
@@ -818,45 +848,18 @@ test_linux_wheels() {
local arch="x86_64"
fi
- local python_versions="${TEST_PYTHON_VERSIONS:-3.10 3.11 3.12 3.13 3.14}"
-
- for python in ${python_versions}; do
- local pyver=${python/m}
- show_header "Testing Python ${pyver} wheel for platform manylinux"
- CONDA_ENV=wheel-${pyver}-${arch} PYTHON_VERSION=${pyver} maybe_setup_conda
|| exit 1
- VENV_ENV=wheel-${pyver}-${arch} PYTHON_VERSION=${pyver}
maybe_setup_virtualenv || continue
- pip install --force-reinstall \
- adbc_*-cp${pyver/.}-cp${python/.}-manylinux*${arch}*.whl \
- adbc_*-py3-none-manylinux*${arch}*.whl
- ${ADBC_DIR}/ci/scripts/python_wheel_unix_test.sh ${ADBC_DIR}
- done
+ test_unix_wheels "${arch}" "manylinux"
}
test_macos_wheels() {
# apple silicon processor
if [ "$(uname -m)" = "arm64" ]; then
- local platform_tags="arm64"
+ local arch="arm64"
else
- local platform_tags="x86_64"
+ local arch="x86_64"
fi
- local python_versions="${TEST_PYTHON_VERSIONS:-3.10 3.11 3.12 3.13 3.14}"
-
- # verify arch-native wheels inside an arch-native conda environment
- for python in ${python_versions}; do
- local pyver=${python/m}
- for platform in ${platform_tags}; do
- show_header "Testing Python ${pyver} wheel for platform ${platform}"
-
- CONDA_ENV=wheel-${pyver}-${platform} PYTHON_VERSION=${pyver}
maybe_setup_conda || exit 1
- VENV_ENV=wheel-${pyver}-${platform} PYTHON_VERSION=${pyver}
maybe_setup_virtualenv || continue
-
- pip install --force-reinstall \
- adbc_*-cp${pyver/.}-cp${python/.}-macosx_*_${platform}.whl \
- adbc_*-py3-none-macosx_*_${platform}.whl
- ${ADBC_DIR}/ci/scripts/python_wheel_unix_test.sh ${ADBC_DIR}
- done
- done
+ test_unix_wheels "${arch}" "macosx"
}
test_wheels() {