Skip to content

Commit 1c2d1db

Browse files
build: Fix nanoarrow download URL pattern
The current nanoarrow download logic hardcoded a specific download URL which would break CI when a new nanoarrow version is released and the old one is removed from the primary Apache download mirror. This commit refactors the nanoarrow toolchain resolution to follow the exact same pattern as the arrow dependency, which includes robust fallback URLs (including archive.apache.org) to ensure the dependency can always be downloaded even after newer versions are released. The ARROW_SOURCE_URL has also been updated to include the archive fallback URL to improve its resiliency. Co-authored-by: wgtmac <4684607+wgtmac@users.noreply.github.com>
1 parent 0596ef5 commit 1c2d1db

1 file changed

Lines changed: 17 additions & 9 deletions

File tree

cmake_modules/IcebergThirdpartyToolchain.cmake

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,21 @@ else()
4848
set(ARROW_SOURCE_URL
4949
"https://www.apache.org/dyn/closer.lua?action=download&filename=/arrow/arrow-${ICEBERG_ARROW_BUILD_VERSION}/apache-arrow-${ICEBERG_ARROW_BUILD_VERSION}.tar.gz"
5050
"https://downloads.apache.org/arrow/arrow-${ICEBERG_ARROW_BUILD_VERSION}/apache-arrow-${ICEBERG_ARROW_BUILD_VERSION}.tar.gz"
51+
"https://archive.apache.org/dist/arrow/arrow-${ICEBERG_ARROW_BUILD_VERSION}/apache-arrow-${ICEBERG_ARROW_BUILD_VERSION}.tar.gz"
52+
)
53+
endif()
54+
55+
set(ICEBERG_NANOARROW_BUILD_VERSION "0.8.0")
56+
set(ICEBERG_NANOARROW_BUILD_SHA256_CHECKSUM
57+
"6e61e2819c9138e9092ba32b568ed6f4594928b306171937251eaaafa7dc2b8c")
58+
59+
if(DEFINED ENV{ICEBERG_NANOARROW_URL})
60+
set(NANOARROW_SOURCE_URL "$ENV{ICEBERG_NANOARROW_URL}")
61+
else()
62+
set(NANOARROW_SOURCE_URL
63+
"https://www.apache.org/dyn/closer.lua?action=download&filename=/arrow/apache-arrow-nanoarrow-${ICEBERG_NANOARROW_BUILD_VERSION}/apache-arrow-nanoarrow-${ICEBERG_NANOARROW_BUILD_VERSION}.tar.gz"
64+
"https://downloads.apache.org/arrow/apache-arrow-nanoarrow-${ICEBERG_NANOARROW_BUILD_VERSION}/apache-arrow-nanoarrow-${ICEBERG_NANOARROW_BUILD_VERSION}.tar.gz"
65+
"https://archive.apache.org/dist/arrow/apache-arrow-nanoarrow-${ICEBERG_NANOARROW_BUILD_VERSION}/apache-arrow-nanoarrow-${ICEBERG_NANOARROW_BUILD_VERSION}.tar.gz"
5166
)
5267
endif()
5368

@@ -256,17 +271,10 @@ endfunction()
256271
function(resolve_nanoarrow_dependency)
257272
prepare_fetchcontent()
258273

259-
if(DEFINED ENV{ICEBERG_NANOARROW_URL})
260-
set(NANOARROW_URL "$ENV{ICEBERG_NANOARROW_URL}")
261-
else()
262-
set(NANOARROW_URL
263-
"https://dlcdn.apache.org/arrow/apache-arrow-nanoarrow-0.8.0/apache-arrow-nanoarrow-0.8.0.tar.gz"
264-
)
265-
endif()
266-
267274
fetchcontent_declare(nanoarrow
268275
${FC_DECLARE_COMMON_OPTIONS}
269-
URL ${NANOARROW_URL}
276+
URL ${NANOARROW_SOURCE_URL}
277+
URL_HASH "SHA256=${ICEBERG_NANOARROW_BUILD_SHA256_CHECKSUM}"
270278
FIND_PACKAGE_ARGS
271279
NAMES
272280
nanoarrow

0 commit comments

Comments
 (0)