Skip to content

Commit a43a65b

Browse files
committed
fix(ci): Windows 릴리스 빌드에서 확장자 파일 경로를 동적으로 탐색
- Test extension loading 단계에서 하드코딩된 경로 대신 find 명령 사용 - Create release package 단계에서도 동일하게 동적 경로 탐색 적용 - Ninja 빌드 시스템이 extension/dplyr/ 하위에 결과물을 생성하는 경우 처리
1 parent c989329 commit a43a65b

File tree

1 file changed

+24
-9
lines changed

1 file changed

+24
-9
lines changed

.github/workflows/release.yml

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,17 @@ jobs:
269269
shell: bash
270270
run: |
271271
cd build
272-
export DUCKDB_EXTENSION_PATH=$(pwd)
272+
273+
# Find the extension file dynamically (Ninja puts it in extension/dplyr/, MSVC may put it in Release/extension/dplyr/)
274+
EXTENSION_PATH=$(find . -name "dplyr.duckdb_extension" -type f | head -n 1)
275+
if [[ -z "$EXTENSION_PATH" ]]; then
276+
echo "Error: dplyr.duckdb_extension not found in build directory"
277+
find . -name "*.duckdb_extension" # Debug output
278+
exit 1
279+
fi
280+
echo "Found extension at: $EXTENSION_PATH"
281+
282+
export DUCKDB_EXTENSION_PATH=$(dirname "$EXTENSION_PATH" | xargs realpath)
273283
274284
DUCKDB_UNSIGNED_ARGS=()
275285
if [[ "${{ runner.os }}" == "Windows" ]]; then
@@ -283,11 +293,11 @@ jobs:
283293
fi
284294
285295
if [[ "${{ runner.os }}" == "Windows" ]]; then
286-
duckdb.exe "${DUCKDB_UNSIGNED_ARGS[@]}" :memory: -c "LOAD './dplyr.duckdb_extension'; SELECT 'Release build test passed' as result;"
296+
duckdb.exe "${DUCKDB_UNSIGNED_ARGS[@]}" :memory: -c "LOAD '$EXTENSION_PATH'; SELECT 'Release build test passed' as result;"
287297
elif [[ "${{ runner.os }}" == "macOS" && "${{ matrix.target }}" == "x86_64-apple-darwin" ]]; then
288-
arch -x86_64 duckdb "${DUCKDB_UNSIGNED_ARGS[@]}" :memory: -c "LOAD './dplyr.duckdb_extension'; SELECT 'Release build test passed' as result;"
298+
arch -x86_64 duckdb "${DUCKDB_UNSIGNED_ARGS[@]}" :memory: -c "LOAD '$EXTENSION_PATH'; SELECT 'Release build test passed' as result;"
289299
else
290-
duckdb "${DUCKDB_UNSIGNED_ARGS[@]}" :memory: -c "LOAD './dplyr.duckdb_extension'; SELECT 'Release build test passed' as result;"
300+
duckdb "${DUCKDB_UNSIGNED_ARGS[@]}" :memory: -c "LOAD '$EXTENSION_PATH'; SELECT 'Release build test passed' as result;"
291301
fi
292302
293303
# -------------------------------------------------------------------------
@@ -298,12 +308,17 @@ jobs:
298308
run: |
299309
mkdir -p release-package
300310
301-
# Copy extension binary with platform-specific name
302-
if [[ "${{ runner.os }}" == "Windows" ]]; then
303-
cp build/Release/dplyr.duckdb_extension "release-package/${{ matrix.extension-name }}"
304-
else
305-
cp build/dplyr.duckdb_extension "release-package/${{ matrix.extension-name }}"
311+
# Find the extension binary dynamically
312+
EXTENSION_PATH=$(find build -name "dplyr.duckdb_extension" -type f | head -n 1)
313+
if [[ -z "$EXTENSION_PATH" ]]; then
314+
echo "Error: dplyr.duckdb_extension not found in build directory"
315+
find build -name "*.duckdb_extension" # Debug output
316+
exit 1
306317
fi
318+
echo "Found extension at: $EXTENSION_PATH"
319+
320+
# Copy extension binary with platform-specific name
321+
cp "$EXTENSION_PATH" "release-package/${{ matrix.extension-name }}"
307322
308323
# Create metadata file
309324
cat > release-package/metadata.json << EOF

0 commit comments

Comments
 (0)