From 894f98d893c4acc58ac491a3fc7f496dd6150897 Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Mon, 23 Jun 2025 14:23:47 +0900 Subject: [PATCH 1/2] GH-46879: [CI][Packaging][Linux] Don't check example build with old CMake --- dev/release/verify-apt.sh | 29 ++++++++++++++++++++--------- dev/release/verify-yum.sh | 29 ++++++++++++++++++++--------- 2 files changed, 40 insertions(+), 18 deletions(-) diff --git a/dev/release/verify-apt.sh b/dev/release/verify-apt.sh index 02296c2079a..736acbea6c0 100755 --- a/dev/release/verify-apt.sh +++ b/dev/release/verify-apt.sh @@ -152,15 +152,26 @@ required_packages+=(make) required_packages+=(pkg-config) required_packages+=(${workaround_missing_packages[@]}) ${APT_INSTALL} ${required_packages[@]} -mkdir -p build -cp -a "${TOP_SOURCE_DIR}/cpp/examples/minimal_build" build/ -pushd build/minimal_build -cmake . -make -j$(nproc) -./arrow-example -c++ -o arrow-example example.cc $(pkg-config --cflags --libs arrow) -std=c++17 -./arrow-example -popd +# cmake version 3.31.6 -> 3.31.6 +cmake_version=$(cmake --version | head -n1 | sed -e 's/^cmake version //') +# 3.31.6 -> 3.31 +cmake_version_major_minor=${cmake_version%.*} +# 3.31 -> 3 +cmake_version_major=${cmake_version_major_minor%.*} +# 3.31 -> 31 +cmake_version_minor=${cmake_version_major_minor#*.} +if [ "${cmake_version_major}" -gt "3" ] || \ + [ "${cmake_version_major}" -eq "3" -a "${cmake_version_minor}" -ge "25" ]; then + mkdir -p build + cp -a "${TOP_SOURCE_DIR}/cpp/examples/minimal_build" build/ + pushd build/minimal_build + cmake . + make -j$(nproc) + ./arrow-example + c++ -o arrow-example example.cc $(pkg-config --cflags --libs arrow) -std=c++17 + ./arrow-example + popd +fi echo "::endgroup::" diff --git a/dev/release/verify-yum.sh b/dev/release/verify-yum.sh index 8691e538ec7..a26bc6d3564 100755 --- a/dev/release/verify-yum.sh +++ b/dev/release/verify-yum.sh @@ -214,15 +214,26 @@ else gcc-c++ \ make fi -mkdir -p build -cp -a "${TOP_SOURCE_DIR}/cpp/examples/minimal_build" build/ -pushd build/minimal_build -${cmake_command} . -make -j$(nproc) -./arrow-example -c++ -o arrow-example example.cc $(pkg-config --cflags --libs arrow) -std=c++17 -./arrow-example -popd +# cmake version 3.31.6 -> 3.31.6 +cmake_version=$(${cmake_command} --version | head -n1 | sed -e 's/^cmake version //') +# 3.31.6 -> 3.31 +cmake_version_major_minor=${cmake_version%.*} +# 3.31 -> 3 +cmake_version_major=${cmake_version_major_minor%.*} +# 3.31 -> 31 +cmake_version_minor=${cmake_version_major_minor#*.} +if [ "${cmake_version_major}" -gt "3" ] || \ + [ "${cmake_version_major}" -eq "3" -a "${cmake_version_minor}" -ge "25" ]; then + mkdir -p build + cp -a "${TOP_SOURCE_DIR}/cpp/examples/minimal_build" build/ + pushd build/minimal_build + ${cmake_command} . + make -j$(nproc) + ./arrow-example + c++ -o arrow-example example.cc $(pkg-config --cflags --libs arrow) -std=c++17 + ./arrow-example + popd +fi echo "::endgroup::" if [ "${have_glib}" = "yes" ]; then From 5c435f9b91b427e515d9d0a42eb92207fd98edfe Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Mon, 23 Jun 2025 15:40:21 +0900 Subject: [PATCH 2/2] Ensure creating build directory --- dev/release/verify-apt.sh | 2 +- dev/release/verify-yum.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/release/verify-apt.sh b/dev/release/verify-apt.sh index 736acbea6c0..e0e51440214 100755 --- a/dev/release/verify-apt.sh +++ b/dev/release/verify-apt.sh @@ -143,6 +143,7 @@ echo "::endgroup::" echo "::group::Test Apache Arrow C++" +mkdir -p build ${APT_INSTALL} libarrow-dev=${package_version} required_packages=() required_packages+=(cmake) @@ -162,7 +163,6 @@ cmake_version_major=${cmake_version_major_minor%.*} cmake_version_minor=${cmake_version_major_minor#*.} if [ "${cmake_version_major}" -gt "3" ] || \ [ "${cmake_version_major}" -eq "3" -a "${cmake_version_minor}" -ge "25" ]; then - mkdir -p build cp -a "${TOP_SOURCE_DIR}/cpp/examples/minimal_build" build/ pushd build/minimal_build cmake . diff --git a/dev/release/verify-yum.sh b/dev/release/verify-yum.sh index a26bc6d3564..a8d4de4a8c3 100755 --- a/dev/release/verify-yum.sh +++ b/dev/release/verify-yum.sh @@ -190,6 +190,7 @@ echo "::endgroup::" echo "::group::Test Apache Arrow C++" +mkdir -p build ${install_command} ${enablerepo_epel} arrow-devel-${package_version} if [ -n "${devtoolset}" ]; then ${install_command} ${scl_package} @@ -224,7 +225,6 @@ cmake_version_major=${cmake_version_major_minor%.*} cmake_version_minor=${cmake_version_major_minor#*.} if [ "${cmake_version_major}" -gt "3" ] || \ [ "${cmake_version_major}" -eq "3" -a "${cmake_version_minor}" -ge "25" ]; then - mkdir -p build cp -a "${TOP_SOURCE_DIR}/cpp/examples/minimal_build" build/ pushd build/minimal_build ${cmake_command} .