Skip to content

Commit 2d31488

Browse files
committed
Exercise DUCKDB_DOWNLOAD_LIB in CI
1 parent c973e22 commit 2d31488

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

.github/workflows/rust.yaml

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ concurrency:
1414

1515
jobs:
1616
test:
17+
# - Linux uses DUCKDB_DOWNLOAD_LIB (non-bundled)
18+
# - Windows uses pre-downloaded archives via DUCKDB_LIB_DIR
19+
# - bundled feature tested by --all-features
1720
name: Test ${{ matrix.target }}
1821
strategy:
1922
fail-fast: true
@@ -30,38 +33,28 @@ jobs:
3033
duckdb: libduckdb-linux-amd64.zip,
3134
}
3235
runs-on: ${{ matrix.os }}
36+
env:
37+
DUCKDB_DOWNLOAD_LIB: "1"
3338
steps:
3439
- uses: actions/checkout@v2
3540
- uses: actions-rust-lang/setup-rust-toolchain@v1
3641
with:
3742
target: ${{ matrix.target }}
3843

39-
# download libduckdb
4044
- uses: robinraju/[email protected]
4145
name: Download duckdb
46+
if: matrix.os == 'windows-latest'
4247
with:
4348
repository: "duckdb/duckdb"
4449
tag: "v1.4.2"
4550
fileName: ${{ matrix.duckdb }}
4651
out-file-path: .
4752

48-
# For Linux
49-
- name: Linux extract duckdb
50-
if: matrix.os == 'ubuntu-latest'
51-
uses: ihiroky/extract-action@v1
52-
with:
53-
file_path: ${{ github.workspace }}/${{ matrix.duckdb }}
54-
extract_dir: libduckdb
55-
5653
- run: cargo fmt --all -- --check
5754
if: matrix.os == 'ubuntu-latest'
5855

5956
- name: run cargo clippy
6057
if: matrix.os == 'ubuntu-latest'
61-
env:
62-
DUCKDB_LIB_DIR: ${{ github.workspace }}/libduckdb
63-
DUCKDB_INCLUDE_DIR: ${{ github.workspace }}/libduckdb
64-
LD_LIBRARY_PATH: ${{ github.workspace }}/libduckdb
6558
run: cargo clippy --all-targets --all-features --locked -- -D warnings
6659

6760
- name: Dry-run release of crates
@@ -91,13 +84,23 @@ jobs:
9184
DUCKDB_INCLUDE_DIR: ${{ github.workspace }}/libduckdb
9285

9386
- name: Build loadable extension
87+
if: matrix.os == 'ubuntu-latest'
88+
run: cargo build --example hello-ext --features="vtab-loadable"
89+
90+
- name: Build loadable extension (C API)
91+
if: matrix.os == 'ubuntu-latest'
92+
run: cargo build --example hello-ext-capi --features="vtab-loadable loadable-extension"
93+
94+
- name: Build loadable extension (windows)
95+
if: matrix.os == 'windows-latest'
9496
run: cargo build --example hello-ext --features="vtab-loadable"
9597
env:
9698
DUCKDB_LIB_DIR: ${{ github.workspace }}/libduckdb
9799
DUCKDB_INCLUDE_DIR: ${{ github.workspace }}/libduckdb
98100
LD_LIBRARY_PATH: ${{ github.workspace }}/libduckdb
99101

100-
- name: Build loadable extension
102+
- name: Build loadable extension C API (windows)
103+
if: matrix.os == 'windows-latest'
101104
run: cargo build --example hello-ext-capi --features="vtab-loadable loadable-extension"
102105
env:
103106
DUCKDB_LIB_DIR: ${{ github.workspace }}/libduckdb

0 commit comments

Comments
 (0)