@@ -14,6 +14,9 @@ concurrency:
1414
1515jobs :
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