Skip to content

Commit

Permalink
GH-44578: [Release][Packaging] Verify wheel version (#44593)
Browse files Browse the repository at this point in the history
### Rationale for this change

We want to detect binary build from wrong source. 

### What changes are included in this PR?

Add version check. If we use wrong source, binary's version is `X.Y.Z-SNAPSHOT` not `X.Y.Z`. So the added check is failed.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

No.
* GitHub Issue: #44578

Authored-by: Sutou Kouhei <[email protected]>
Signed-off-by: Raúl Cumplido <[email protected]>
  • Loading branch information
kou authored Nov 2, 2024
1 parent 11c11a4 commit ab0c857
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 3 deletions.
7 changes: 7 additions & 0 deletions ci/scripts/python_wheel_unix_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,13 @@ import pyarrow.parquet
fi
fi

if [ "${CHECK_VERSION}" == "ON" ]; then
pyarrow_version=$(python -c "import pyarrow; print(pyarrow.__version__)")
[ "${pyarrow_version}" = "${ARROW_VERSION}" ]
arrow_cpp_version=$(python -c "import pyarrow; print(pyarrow.cpp_build_info.version)")
[ "${arrow_cpp_version}" = "${ARROW_VERSION}" ]
fi

if [ "${CHECK_WHEEL_CONTENT}" == "ON" ]; then
python ${source_dir}/ci/scripts/python_wheel_validate_contents.py \
--path ${source_dir}/python/repaired_wheels
Expand Down
27 changes: 24 additions & 3 deletions dev/release/verify-release-candidate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -1052,6 +1052,12 @@ test_linux_wheels() {
local wheel_content="OFF"
fi

if [ "${SOURCE_KIND}" = "tarball" ]; then
local check_version="ON"
else
local check_version="OFF"
fi

for python in ${python_versions}; do
local pyver=${python/m}
for platform in ${platform_tags}; do
Expand All @@ -1061,7 +1067,11 @@ test_linux_wheels() {
continue
fi
pip install pyarrow-${TEST_PYARROW_VERSION:-${VERSION}}-cp${pyver/.}-cp${python/.}-${platform}.whl
CHECK_WHEEL_CONTENT=${wheel_content:-"ON"} INSTALL_PYARROW=OFF ARROW_GCS=${check_gcs} \
ARROW_GCS=${check_gcs} \
ARROW_VERSION=${VERSION} \
CHECK_VERSION=${check_version} \
CHECK_WHEEL_CONTENT=${wheel_content:-"ON"} \
INSTALL_PYARROW=OFF \
${ARROW_DIR}/ci/scripts/python_wheel_unix_test.sh ${ARROW_SOURCE_DIR}
done
done
Expand All @@ -1086,6 +1096,12 @@ test_macos_wheels() {
local wheel_content="OFF"
fi

if [ "${SOURCE_KIND}" = "tarball" ]; then
local check_version="ON"
else
local check_version="OFF"
fi

# verify arch-native wheels inside an arch-native conda environment
for python in ${python_versions}; do
local pyver=${python/m}
Expand All @@ -1102,8 +1118,13 @@ test_macos_wheels() {
fi

pip install pyarrow-${VERSION}-cp${pyver/.}-cp${python/.}-${platform}.whl
CHECK_WHEEL_CONTENT=${wheel_content:-"ON"} INSTALL_PYARROW=OFF ARROW_FLIGHT=${check_flight} \
ARROW_GCS=${check_gcs} ARROW_S3=${check_s3} \
ARROW_FLIGHT=${check_flight} \
ARROW_GCS=${check_gcs} \
ARROW_S3=${check_s3} \
ARROW_VERSION=${VERSION} \
CHECK_WHEEL_CONTENT=${wheel_content:-"ON"} \
CHECK_VERSION=${check_version} \
INSTALL_PYARROW=OFF \
${ARROW_DIR}/ci/scripts/python_wheel_unix_test.sh ${ARROW_SOURCE_DIR}
done
done
Expand Down

0 comments on commit ab0c857

Please sign in to comment.