Skip to content

Commit 202034a

Browse files
Stage icu for the macOS osx_arm64 test path too
The stage_icu helper mapped only the Linux uname values, so on the macOS arm64 test runner uname -m returned "arm64" and the icu extension was copied to .duckdb/extensions/v1.4.4/arm64 instead of .../osx_arm64, where DuckDB's autoload looks. The hub fallback is not reliably resolvable on that runner, so the osx_arm64 Test step failed to load the extension. Map the OS and architecture to the DuckDB platform string (linux_amd64, linux_arm64, osx_amd64, osx_arm64) so the locally built icu is staged at the path autoload expects on every tested platform; the Linux mapping is unchanged. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 1725da6 commit 202034a

1 file changed

Lines changed: 13 additions & 6 deletions

File tree

Makefile

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,23 @@ include extension-ci-tools/makefiles/duckdb_extension.Makefile
1515
# LoadInternal also calls ExtensionHelper::AutoLoadExtension(db, "icu") so
1616
# the timezone option is honoured. Autoload looks for the extension on disk
1717
# at $HOME/.duckdb/extensions/<duckdb_version>/<platform>/icu.duckdb_extension
18-
# and falls back to a hub download. Inside the linux_amd64 test docker
19-
# container that path is empty and there is no network egress, so the
20-
# autoload fails. We copy the icu.duckdb_extension that was built locally
21-
# as part of this extension's build (declared in extension_config.cmake)
22-
# into the expected path before running the unittester.
18+
# and falls back to a hub download. That fails both inside the linux_amd64
19+
# test docker container (empty path, no network egress) and on the macOS
20+
# osx_arm64 test runner (hub icu not reliably resolvable). We copy the
21+
# icu.duckdb_extension that was built locally as part of this extension's
22+
# build (declared in extension_config.cmake) into the expected path,
23+
# matched to the DuckDB platform string, before running the unittester.
2324
DUCKDB_VERSION_TAG := v1.4.4
2425

2526
define stage_icu
2627
@if [ -f ./build/$(1)/extension/icu/icu.duckdb_extension ]; then \
27-
platform=$$(uname -m | sed 's/x86_64/linux_amd64/;s/aarch64/linux_arm64/'); \
28+
case "$$(uname -s)-$$(uname -m)" in \
29+
Linux-x86_64) platform=linux_amd64 ;; \
30+
Linux-aarch64) platform=linux_arm64 ;; \
31+
Darwin-arm64) platform=osx_arm64 ;; \
32+
Darwin-x86_64) platform=osx_amd64 ;; \
33+
*) platform=$$(uname -m) ;; \
34+
esac; \
2835
target=$$HOME/.duckdb/extensions/$(DUCKDB_VERSION_TAG)/$$platform; \
2936
mkdir -p "$$target" && cp -f ./build/$(1)/extension/icu/icu.duckdb_extension "$$target/" && \
3037
echo "Staged icu.duckdb_extension at $$target/"; \

0 commit comments

Comments
 (0)