lbug 0.12.0 → 0.12.3-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lbug-source/.github/workflows/benchmark-workflow.yml +7 -4
- package/lbug-source/.github/workflows/build-and-deploy-extension.yml +4 -11
- package/lbug-source/.github/workflows/build-and-deploy.yml +37 -11
- package/lbug-source/.github/workflows/build-extensions.yml +0 -8
- package/lbug-source/.github/workflows/business-intelligence-benchmark.yml +1 -1
- package/lbug-source/.github/workflows/ci-workflow.yml +139 -34
- package/lbug-source/.github/workflows/clickbench-workflow.yml +5 -0
- package/lbug-source/.github/workflows/gen-docs.yml +55 -29
- package/lbug-source/.github/workflows/get-extensions-from-ghcr.yml +2 -2
- package/lbug-source/.github/workflows/interactive-v1-benchmark.yml +6 -1
- package/lbug-source/.github/workflows/java-workflow.yml +31 -33
- package/lbug-source/.github/workflows/ldbc-fintech-benchmark-workflow.yml +1 -1
- package/lbug-source/.github/workflows/lsqb-benchmark-workflow.yml +16 -8
- package/lbug-source/.github/workflows/precompiled-bin-workflow.yml +10 -8
- package/lbug-source/.github/workflows/purge-extension.yml +2 -2
- package/lbug-source/.github/workflows/python-wheel-workflow.yml +24 -12
- package/lbug-source/.github/workflows/wasm-workflow.yml +6 -1
- package/lbug-source/.gitignore +1 -0
- package/lbug-source/AGENTS.md +19 -0
- package/lbug-source/CMakeLists.txt +9 -7
- package/lbug-source/Makefile +1 -2
- package/lbug-source/benchmark/lsqb/benchmark_runner.py +1 -2
- package/lbug-source/benchmark/lsqb/serializer.py +1 -2
- package/lbug-source/dataset/books/books.csv +3 -0
- package/lbug-source/extension/azure/test/test_files/azure.test +2 -0
- package/lbug-source/extension/duckdb/test/test_files/duckdb.test +1 -0
- package/lbug-source/extension/duckdb/test/test_files/remote_duckdb.test +2 -0
- package/lbug-source/extension/fts/src/function/create_fts_index.cpp +6 -8
- package/lbug-source/extension/fts/test/test_files/multi_index.test +44 -0
- package/lbug-source/extension/httpfs/test/test_files/gcs_download.test +1 -0
- package/lbug-source/extension/httpfs/test/test_files/gcs_glob.test +1 -0
- package/lbug-source/extension/httpfs/test/test_files/gcs_remote_database.test +1 -0
- package/lbug-source/extension/httpfs/test/test_files/http.test +13 -0
- package/lbug-source/extension/httpfs/test/test_files/s3_download.test +1 -0
- package/lbug-source/extension/iceberg/test/test_files/iceberg.test +1 -0
- package/lbug-source/extension/json/test/scan_json.test +1 -0
- package/lbug-source/extension/sqlite/test/test_files/sqlite.test +1 -0
- package/lbug-source/extension/vector/test/test_files/transaction.test +56 -0
- package/lbug-source/extension/vector/test/test_files/update.test +84 -0
- package/lbug-source/scripts/extension/PRODUCTION_RELEASES +1 -14
- package/lbug-source/scripts/pip-package/setup.py +0 -3
- package/lbug-source/scripts/update-nightly-build-version.py +15 -0
- package/lbug-source/src/CMakeLists.txt +1 -1
- package/lbug-source/src/c_api/value.cpp +5 -2
- package/lbug-source/src/include/c_api/lbug.h +5 -3
- package/lbug-source/src/storage/table/node_table.cpp +1 -0
- package/lbug-source/test/c_api/value_test.cpp +4 -3
- package/lbug-source/test/test_files/extension/extension.test +0 -3
- package/lbug-source/tools/nodejs_api/README.md +2 -2
- package/lbug-source/tools/nodejs_api/package.json +2 -2
- package/lbug-source/tools/python_api/Makefile +2 -2
- package/lbug-source/tools/python_api/pyproject.toml +36 -0
- package/lbug-source/tools/wasm/examples/browser_in_memory/package.json +1 -1
- package/lbug-source/tools/wasm/examples/browser_persistent/package.json +1 -1
- package/lbug-source/tools/wasm/examples/nodejs/package.json +1 -1
- package/lbug-source/tools/wasm/package.json +1 -1
- package/package.json +3 -3
- package/prebuilt/lbugjs-darwin-arm64.node +0 -0
- package/prebuilt/lbugjs-linux-arm64.node +0 -0
- package/prebuilt/lbugjs-linux-x64.node +0 -0
- package/prebuilt/lbugjs-win32-x64.node +0 -0
- package/lbug-source/tools/python_api/requirements_dev.txt +0 -20
|
@@ -7,13 +7,16 @@ jobs:
|
|
|
7
7
|
ldbc_benchmark:
|
|
8
8
|
name: ldbc benchmark
|
|
9
9
|
env:
|
|
10
|
-
NUM_THREADS: 30
|
|
11
10
|
GEN: Ninja
|
|
12
|
-
runs-on:
|
|
13
|
-
if: false
|
|
11
|
+
runs-on: ubuntu-latest
|
|
14
12
|
steps:
|
|
15
13
|
- uses: actions/checkout@v4
|
|
16
14
|
|
|
15
|
+
- name: Setup ccache
|
|
16
|
+
uses: hendrikmuhs/ccache-action@v1.2
|
|
17
|
+
with:
|
|
18
|
+
key: benchmark-${{ runner.os }}
|
|
19
|
+
|
|
17
20
|
- name: Build
|
|
18
21
|
run: make benchmark
|
|
19
22
|
|
|
@@ -21,7 +24,7 @@ jobs:
|
|
|
21
24
|
continue-on-error: true
|
|
22
25
|
run: |
|
|
23
26
|
set +e
|
|
24
|
-
|
|
27
|
+
uv run benchmark/benchmark_runner.py --dataset ldbc-sf10
|
|
25
28
|
echo $? > benchmark/exit_code
|
|
26
29
|
|
|
27
30
|
- name: Upload benchmark logs
|
|
@@ -69,38 +69,31 @@ jobs:
|
|
|
69
69
|
mkdir -p extension-artifacts/linux_amd64
|
|
70
70
|
mkdir -p extension-artifacts/linux_arm64
|
|
71
71
|
mkdir -p extension-artifacts/linux_x86
|
|
72
|
-
mkdir -p extension-artifacts/osx_amd64
|
|
73
72
|
mkdir -p extension-artifacts/osx_arm64
|
|
74
73
|
mkdir -p extension-artifacts/win_amd64
|
|
75
74
|
|
|
76
75
|
- name: Download built artifacts for linux-x86_64
|
|
77
76
|
uses: actions/download-artifact@v4
|
|
78
77
|
with:
|
|
79
|
-
name: lbug-
|
|
78
|
+
name: lbug-extensions-linux-x86_64
|
|
80
79
|
path: extension-artifacts/linux_amd64
|
|
81
80
|
|
|
82
81
|
- name: Download built artifacts for linux-aarch64
|
|
83
82
|
uses: actions/download-artifact@v4
|
|
84
83
|
with:
|
|
85
|
-
name: lbug-
|
|
84
|
+
name: lbug-extensions-linux-aarch64
|
|
86
85
|
path: extension-artifacts/linux_arm64
|
|
87
86
|
|
|
88
|
-
- name: Download built artifacts for osx-x86_64
|
|
89
|
-
uses: actions/download-artifact@v4
|
|
90
|
-
with:
|
|
91
|
-
name: lbug-extensions_osx-x86_64
|
|
92
|
-
path: extension-artifacts/osx_amd64
|
|
93
|
-
|
|
94
87
|
- name: Download built artifacts for osx-aarch64
|
|
95
88
|
uses: actions/download-artifact@v4
|
|
96
89
|
with:
|
|
97
|
-
name: lbug-
|
|
90
|
+
name: lbug-extensions-osx-arm64
|
|
98
91
|
path: extension-artifacts/osx_arm64
|
|
99
92
|
|
|
100
93
|
- name: Download built artifacts for windows-x86_64
|
|
101
94
|
uses: actions/download-artifact@v4
|
|
102
95
|
with:
|
|
103
|
-
name: lbug-
|
|
96
|
+
name: lbug-extensions-win-x86_64
|
|
104
97
|
path: extension-artifacts/win_amd64
|
|
105
98
|
|
|
106
99
|
- name: Copy built artifacts
|
|
@@ -53,6 +53,11 @@ on:
|
|
|
53
53
|
env:
|
|
54
54
|
PIP_BREAK_SYSTEM_PACKAGES: 1
|
|
55
55
|
|
|
56
|
+
permissions:
|
|
57
|
+
id-token: write # Required for OIDC
|
|
58
|
+
contents: read
|
|
59
|
+
packages: write # Required by extension deployment
|
|
60
|
+
|
|
56
61
|
jobs:
|
|
57
62
|
get-nightly-version:
|
|
58
63
|
runs-on: ubuntu-latest
|
|
@@ -60,9 +65,14 @@ jobs:
|
|
|
60
65
|
steps:
|
|
61
66
|
- uses: actions/checkout@v4
|
|
62
67
|
|
|
68
|
+
- name: Install uv
|
|
69
|
+
run: python3 -m pip install uv
|
|
70
|
+
|
|
63
71
|
- name: Update nightly version
|
|
64
72
|
run: |
|
|
65
|
-
|
|
73
|
+
uv venv
|
|
74
|
+
source .venv/bin/activate
|
|
75
|
+
uv pip install packaging
|
|
66
76
|
python3 update-nightly-build-version.py | grep "New Python dev version:" | awk -F'New Python dev version: ' '{print $2}' | sed 's/\.$//' > version.txt
|
|
67
77
|
cat version.txt
|
|
68
78
|
working-directory: scripts
|
|
@@ -74,7 +84,7 @@ jobs:
|
|
|
74
84
|
path: scripts/version.txt
|
|
75
85
|
|
|
76
86
|
build-extension:
|
|
77
|
-
if: ${{ github.event_name == 'schedule'
|
|
87
|
+
if: ${{ github.event_name == 'schedule' && github.event.inputs.skipExtensions != 'true' }}
|
|
78
88
|
uses: ./.github/workflows/build-and-deploy-extension.yml
|
|
79
89
|
with:
|
|
80
90
|
isNightly: ${{ github.event_name == 'schedule' || github.event.inputs.isNightly == 'true' }}
|
|
@@ -149,10 +159,15 @@ jobs:
|
|
|
149
159
|
steps:
|
|
150
160
|
- uses: actions/checkout@v4
|
|
151
161
|
|
|
162
|
+
- name: Install uv
|
|
163
|
+
run: pip3 install uv
|
|
164
|
+
|
|
152
165
|
- name: Update nightly version
|
|
153
166
|
if: ${{ github.event_name == 'schedule' || github.event.inputs.isNightly == 'true' }}
|
|
154
167
|
run: |
|
|
155
|
-
|
|
168
|
+
uv venv
|
|
169
|
+
source .venv/bin/activate
|
|
170
|
+
uv pip install packaging
|
|
156
171
|
python3 update-nightly-build-version.py
|
|
157
172
|
working-directory: scripts
|
|
158
173
|
|
|
@@ -197,10 +212,15 @@ jobs:
|
|
|
197
212
|
steps:
|
|
198
213
|
- uses: actions/checkout@v4
|
|
199
214
|
|
|
215
|
+
- name: Install uv
|
|
216
|
+
run: python3 -m pip install uv
|
|
217
|
+
|
|
200
218
|
- name: Update nightly version
|
|
201
219
|
if: ${{ github.event_name == 'schedule' || github.event.inputs.isNightly == 'true' }}
|
|
202
220
|
run: |
|
|
203
|
-
|
|
221
|
+
uv venv
|
|
222
|
+
source .venv/bin/activate
|
|
223
|
+
uv pip install packaging
|
|
204
224
|
python3 update-nightly-build-version.py
|
|
205
225
|
working-directory: scripts
|
|
206
226
|
|
|
@@ -277,15 +297,18 @@ jobs:
|
|
|
277
297
|
if: ${{ github.event_name == 'schedule' || github.event.inputs.skipNodejs != 'true' }}
|
|
278
298
|
needs: [build-nodejs]
|
|
279
299
|
runs-on: ubuntu-latest
|
|
280
|
-
env:
|
|
281
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_JS_TOKEN }}
|
|
282
300
|
steps:
|
|
283
301
|
- uses: actions/checkout@v4
|
|
284
302
|
|
|
303
|
+
- name: Install uv
|
|
304
|
+
run: pip3 install uv
|
|
305
|
+
|
|
285
306
|
- name: Update nightly version
|
|
286
307
|
if: ${{ github.event_name == 'schedule' || github.event.inputs.isNightly == 'true' }}
|
|
287
308
|
run: |
|
|
288
|
-
|
|
309
|
+
uv venv
|
|
310
|
+
source .venv/bin/activate
|
|
311
|
+
uv pip install packaging
|
|
289
312
|
python3 update-nightly-build-version.py
|
|
290
313
|
working-directory: scripts
|
|
291
314
|
|
|
@@ -312,11 +335,14 @@ jobs:
|
|
|
312
335
|
name: windows-nodejs-module
|
|
313
336
|
path: tools/nodejs_api/prebuilt
|
|
314
337
|
|
|
315
|
-
- uses: actions/setup-node@
|
|
338
|
+
- uses: actions/setup-node@v4
|
|
316
339
|
with:
|
|
317
|
-
node-version: "
|
|
340
|
+
node-version: "22"
|
|
318
341
|
registry-url: "https://registry.npmjs.org"
|
|
319
342
|
|
|
343
|
+
- name: Upgrade npm
|
|
344
|
+
run: npm install -g npm@latest
|
|
345
|
+
|
|
320
346
|
- name: Package Node.js API with prebuilt binaries
|
|
321
347
|
run: node package
|
|
322
348
|
working-directory: tools/nodejs_api
|
|
@@ -342,8 +368,8 @@ jobs:
|
|
|
342
368
|
working-directory: tools/nodejs_api
|
|
343
369
|
|
|
344
370
|
- name: Deploy to npm.js
|
|
345
|
-
if: ${{ github.event.inputs.isDeploy == 'true'
|
|
346
|
-
run: npm publish lbug-source.tar.gz --access public --tag latest
|
|
371
|
+
if: ${{ github.event.inputs.isDeploy == 'true' && github.event.inputs.isNightly != 'true' }}
|
|
372
|
+
run: npm publish lbug-source.tar.gz --access public --tag latest
|
|
347
373
|
working-directory: tools/nodejs_api
|
|
348
374
|
|
|
349
375
|
build-wasm:
|
|
@@ -118,14 +118,6 @@ jobs:
|
|
|
118
118
|
echo set^(DuckDB_FOUND TRUE^)
|
|
119
119
|
) > C:\local\lib\cmake\DuckDB\DuckDBConfig.cmake
|
|
120
120
|
|
|
121
|
-
- name: Cache build
|
|
122
|
-
uses: actions/cache@v4
|
|
123
|
-
with:
|
|
124
|
-
path: build
|
|
125
|
-
key: core-build-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('CMakeLists.txt', 'src/**', 'extension/**', 'tools/**') }}
|
|
126
|
-
restore-keys: |
|
|
127
|
-
core-build-${{ runner.os }}-${{ runner.arch }}-
|
|
128
|
-
|
|
129
121
|
- name: Build precompiled extensions (Linux)
|
|
130
122
|
if: runner.os == 'Linux'
|
|
131
123
|
run: make extension-release
|
|
@@ -161,14 +161,6 @@ jobs:
|
|
|
161
161
|
steps:
|
|
162
162
|
- uses: actions/checkout@v4
|
|
163
163
|
|
|
164
|
-
- name: Cache build
|
|
165
|
-
uses: actions/cache@v4
|
|
166
|
-
with:
|
|
167
|
-
path: build
|
|
168
|
-
key: core-build-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('CMakeLists.txt', 'src/**', 'extension/**', 'tools/**') }}
|
|
169
|
-
restore-keys: |
|
|
170
|
-
core-build-${{ runner.os }}-${{ runner.arch }}-
|
|
171
|
-
|
|
172
164
|
- name: Download binary-demo
|
|
173
165
|
uses: actions/download-artifact@v4
|
|
174
166
|
with:
|
|
@@ -211,9 +203,6 @@ jobs:
|
|
|
211
203
|
run: |
|
|
212
204
|
make test
|
|
213
205
|
|
|
214
|
-
- name: Ensure Python dependencies
|
|
215
|
-
run: pip install --user -r tools/python_api/requirements_dev.txt
|
|
216
|
-
|
|
217
206
|
- name: Python test
|
|
218
207
|
run: make pytest
|
|
219
208
|
|
|
@@ -557,14 +546,6 @@ jobs:
|
|
|
557
546
|
steps:
|
|
558
547
|
- uses: actions/checkout@v4
|
|
559
548
|
|
|
560
|
-
- name: Cache build
|
|
561
|
-
uses: actions/cache@v4
|
|
562
|
-
with:
|
|
563
|
-
path: build
|
|
564
|
-
key: core-build-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('CMakeLists.txt', 'src/**', 'extension/**', 'tools/**') }}
|
|
565
|
-
restore-keys: |
|
|
566
|
-
core-build-${{ runner.os }}-${{ runner.arch }}-
|
|
567
|
-
|
|
568
549
|
- name: Download binary-demo
|
|
569
550
|
uses: actions/download-artifact@v4
|
|
570
551
|
with:
|
|
@@ -596,8 +577,14 @@ jobs:
|
|
|
596
577
|
run: |
|
|
597
578
|
make test
|
|
598
579
|
|
|
580
|
+
- name: Install uv
|
|
581
|
+
run: pip install uv
|
|
582
|
+
|
|
599
583
|
- name: Ensure Python dependencies
|
|
600
|
-
run:
|
|
584
|
+
run: |
|
|
585
|
+
uv venv
|
|
586
|
+
source .venv/bin/activate
|
|
587
|
+
uv pip install --prerelease=allow --user -e tools/python_api/[dev]
|
|
601
588
|
|
|
602
589
|
- name: Python test
|
|
603
590
|
run: make pytest
|
|
@@ -828,8 +815,14 @@ jobs:
|
|
|
828
815
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
|
|
829
816
|
make test
|
|
830
817
|
|
|
818
|
+
- name: Install uv
|
|
819
|
+
run: pip install uv
|
|
820
|
+
|
|
831
821
|
- name: Ensure Python dependencies
|
|
832
|
-
run:
|
|
822
|
+
run: |
|
|
823
|
+
uv venv
|
|
824
|
+
call .venv\Scripts\activate.bat
|
|
825
|
+
uv pip install --prerelease=allow --user -e tools/python_api/[dev]
|
|
833
826
|
|
|
834
827
|
- name: Python test
|
|
835
828
|
shell: cmd
|
|
@@ -911,6 +904,9 @@ jobs:
|
|
|
911
904
|
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
912
905
|
ref: ${{ github.event.pull_request.head.ref }}
|
|
913
906
|
|
|
907
|
+
- name: Install uv
|
|
908
|
+
run: pip3 install uv
|
|
909
|
+
|
|
914
910
|
- name: Install clang-format
|
|
915
911
|
run: |
|
|
916
912
|
sudo apt-get update
|
|
@@ -956,6 +952,9 @@ jobs:
|
|
|
956
952
|
steps:
|
|
957
953
|
- uses: actions/checkout@v4
|
|
958
954
|
|
|
955
|
+
- name: Install uv
|
|
956
|
+
run: pip3 install uv
|
|
957
|
+
|
|
959
958
|
- name: Setup Python
|
|
960
959
|
uses: actions/setup-python@v5
|
|
961
960
|
with:
|
|
@@ -1036,14 +1035,6 @@ jobs:
|
|
|
1036
1035
|
steps:
|
|
1037
1036
|
- uses: actions/checkout@v4
|
|
1038
1037
|
|
|
1039
|
-
- name: Cache build
|
|
1040
|
-
uses: actions/cache@v4
|
|
1041
|
-
with:
|
|
1042
|
-
path: build
|
|
1043
|
-
key: core-build-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('CMakeLists.txt', 'src/**', 'extension/**', 'tools/**') }}
|
|
1044
|
-
restore-keys: |
|
|
1045
|
-
core-build-${{ runner.os }}-${{ runner.arch }}-
|
|
1046
|
-
|
|
1047
1038
|
- name: Determine NUM_THREADS
|
|
1048
1039
|
run: |
|
|
1049
1040
|
export NUM_THREADS=$(($(sysctl -n hw.logicalcpu) * 2 / 3))
|
|
@@ -1098,8 +1089,14 @@ jobs:
|
|
|
1098
1089
|
ulimit -n 10240
|
|
1099
1090
|
make example
|
|
1100
1091
|
|
|
1092
|
+
- name: Install uv
|
|
1093
|
+
run: pip3 install uv
|
|
1094
|
+
|
|
1101
1095
|
- name: Ensure Python dependencies
|
|
1102
|
-
run:
|
|
1096
|
+
run: |
|
|
1097
|
+
uv venv
|
|
1098
|
+
source .venv/bin/activate
|
|
1099
|
+
uv pip install --prerelease=allow --user -e tools/python_api/[dev]
|
|
1103
1100
|
|
|
1104
1101
|
- name: Python test
|
|
1105
1102
|
env:
|
|
@@ -1169,11 +1166,102 @@ jobs:
|
|
|
1169
1166
|
- name: Generate datasets
|
|
1170
1167
|
run: bash scripts/generate_binary_demo.sh
|
|
1171
1168
|
|
|
1169
|
+
- name: Install uv
|
|
1170
|
+
run: pip3 install uv
|
|
1171
|
+
|
|
1172
1172
|
- name: Test
|
|
1173
1173
|
run: |
|
|
1174
|
-
|
|
1174
|
+
uv venv
|
|
1175
|
+
source .venv/bin/activate
|
|
1176
|
+
uv pip install pytest pexpect
|
|
1175
1177
|
make shell-test test
|
|
1176
1178
|
|
|
1179
|
+
minimal-linux-extension-test:
|
|
1180
|
+
name: minimal linux extension test
|
|
1181
|
+
runs-on: ubuntu-latest
|
|
1182
|
+
env:
|
|
1183
|
+
GEN: Ninja
|
|
1184
|
+
UW_S3_ACCESS_KEY_ID: ${{ secrets.UW_S3_ACCESS_KEY_ID }}
|
|
1185
|
+
UW_S3_SECRET_ACCESS_KEY: ${{ secrets.UW_S3_SECRET_ACCESS_KEY }}
|
|
1186
|
+
AWS_S3_ACCESS_KEY_ID: ${{ secrets.AWS_S3_ACCESS_KEY_ID }}
|
|
1187
|
+
AWS_S3_SECRET_ACCESS_KEY: ${{ secrets.AWS_S3_SECRET_ACCESS_KEY }}
|
|
1188
|
+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_S3_ACCESS_KEY_ID }}
|
|
1189
|
+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_S3_SECRET_ACCESS_KEY }}
|
|
1190
|
+
GCS_ACCESS_KEY_ID: ${{ secrets.GCS_ACCESS_KEY_ID }}
|
|
1191
|
+
GCS_SECRET_ACCESS_KEY: ${{ secrets.GCS_SECRET_ACCESS_KEY }}
|
|
1192
|
+
AZURE_CONNECTION_STRING: ${{ format('DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1};EndpointSuffix=core.windows.net', secrets.AZURE_ACCOUNT_NAME, secrets.AZURE_ACCOUNT_KEY) }}
|
|
1193
|
+
AZURE_ACCOUNT_NAME: ${{ secrets.AZURE_ACCOUNT_NAME }}
|
|
1194
|
+
AZURE_PUBLIC_CONTAINER: ${{ secrets.AZURE_PUBLIC_CONTAINER }}
|
|
1195
|
+
|
|
1196
|
+
steps:
|
|
1197
|
+
- uses: actions/checkout@v4
|
|
1198
|
+
|
|
1199
|
+
- name: Setup ccache
|
|
1200
|
+
uses: hendrikmuhs/ccache-action@v1.2
|
|
1201
|
+
with:
|
|
1202
|
+
key: minimal-extension-test-${{ runner.os }}
|
|
1203
|
+
|
|
1204
|
+
- name: Update PostgreSQL host
|
|
1205
|
+
working-directory: extension/postgres/test/test_files
|
|
1206
|
+
env:
|
|
1207
|
+
PG_FNAME: postgres.test
|
|
1208
|
+
SQL_FNAME: sql_query.test
|
|
1209
|
+
FIND: "localhost"
|
|
1210
|
+
run: |
|
|
1211
|
+
node -e 'fs=require("fs");fs.readFile(process.env.PG_FNAME,"utf8",(err,data)=>{if(err!=null)throw err;fs.writeFile(process.env.PG_FNAME,data.replaceAll(process.env.FIND,process.env.PG_HOST),"utf8",e=>{if(e!=null)throw e;});});'
|
|
1212
|
+
node -e 'fs=require("fs");fs.readFile(process.env.SQL_FNAME,"utf8",(err,data)=>{if(err!=null)throw err;fs.writeFile(process.env.SQL_FNAME,data.replaceAll(process.env.FIND,process.env.PG_HOST),"utf8",e=>{if(e!=null)throw e;});});'
|
|
1213
|
+
|
|
1214
|
+
- name: Install DuckDB (Linux)
|
|
1215
|
+
if: runner.os == 'Linux'
|
|
1216
|
+
run: |
|
|
1217
|
+
if [ "${{ runner.arch }}" = "X64" ]; then
|
|
1218
|
+
wget https://github.com/duckdb/duckdb/releases/latest/download/libduckdb-linux-amd64.zip
|
|
1219
|
+
unzip libduckdb-linux-amd64.zip -d duckdb
|
|
1220
|
+
else
|
|
1221
|
+
wget https://github.com/duckdb/duckdb/releases/latest/download/libduckdb-linux-arm64.zip
|
|
1222
|
+
unzip libduckdb-linux-arm64.zip -d duckdb
|
|
1223
|
+
fi
|
|
1224
|
+
sudo cp duckdb/duckdb.h /usr/local/include/
|
|
1225
|
+
sudo cp duckdb/duckdb.hpp /usr/local/include/
|
|
1226
|
+
sudo cp duckdb/libduckdb.so /usr/local/lib/
|
|
1227
|
+
sudo ldconfig
|
|
1228
|
+
# Create CMake config files
|
|
1229
|
+
sudo mkdir -p /usr/local/lib/cmake/DuckDB
|
|
1230
|
+
sudo tee /usr/local/lib/cmake/DuckDB/DuckDBConfig.cmake > /dev/null << 'EOF'
|
|
1231
|
+
# DuckDB CMake configuration file
|
|
1232
|
+
|
|
1233
|
+
if(NOT TARGET DuckDB::duckdb)
|
|
1234
|
+
add_library(DuckDB::duckdb SHARED IMPORTED)
|
|
1235
|
+
set_target_properties(DuckDB::duckdb PROPERTIES
|
|
1236
|
+
INTERFACE_INCLUDE_DIRECTORIES "/usr/local/include"
|
|
1237
|
+
IMPORTED_LOCATION "/usr/local/lib/libduckdb.so"
|
|
1238
|
+
)
|
|
1239
|
+
endif()
|
|
1240
|
+
|
|
1241
|
+
set(DuckDB_LIBRARIES DuckDB::duckdb)
|
|
1242
|
+
set(DuckDB_INCLUDE_DIRS "/usr/local/include")
|
|
1243
|
+
set(DuckDB_FOUND TRUE)
|
|
1244
|
+
EOF
|
|
1245
|
+
|
|
1246
|
+
- name: Install uv
|
|
1247
|
+
run: |
|
|
1248
|
+
pip3 install uv
|
|
1249
|
+
uv venv
|
|
1250
|
+
|
|
1251
|
+
- name: Install dependencies
|
|
1252
|
+
run: uv pip install rangehttpserver requests
|
|
1253
|
+
|
|
1254
|
+
# shell needs to be built first to generate the dataset provided by the server
|
|
1255
|
+
- name: Extension test build
|
|
1256
|
+
run: make extension-test-build
|
|
1257
|
+
|
|
1258
|
+
- name: Extension test
|
|
1259
|
+
run: |
|
|
1260
|
+
uv run scripts/generate-tinysnb.py
|
|
1261
|
+
uv run scripts/setup-extension-repo.py &
|
|
1262
|
+
make extension-test
|
|
1263
|
+
|
|
1264
|
+
|
|
1177
1265
|
linux-extension-test:
|
|
1178
1266
|
name: linux extension test
|
|
1179
1267
|
needs: [ gcc-build-test, clang-build-test ]
|
|
@@ -1215,8 +1303,14 @@ jobs:
|
|
|
1215
1303
|
node -e 'fs=require("fs");fs.readFile(process.env.PG_FNAME,"utf8",(err,data)=>{if(err!=null)throw err;fs.writeFile(process.env.PG_FNAME,data.replaceAll(process.env.FIND,process.env.PG_HOST),"utf8",e=>{if(e!=null)throw e;});});'
|
|
1216
1304
|
node -e 'fs=require("fs");fs.readFile(process.env.SQL_FNAME,"utf8",(err,data)=>{if(err!=null)throw err;fs.writeFile(process.env.SQL_FNAME,data.replaceAll(process.env.FIND,process.env.PG_HOST),"utf8",e=>{if(e!=null)throw e;});});'
|
|
1217
1305
|
|
|
1306
|
+
- name: Install uv
|
|
1307
|
+
run: pip install uv
|
|
1308
|
+
|
|
1218
1309
|
- name: Install dependencies
|
|
1219
|
-
run:
|
|
1310
|
+
run: |
|
|
1311
|
+
uv venv
|
|
1312
|
+
source .venv/bin/activate
|
|
1313
|
+
uv pip install rangehttpserver requests
|
|
1220
1314
|
|
|
1221
1315
|
# shell needs to be built first to generate the dataset provided by the server
|
|
1222
1316
|
- name: Extension test build
|
|
@@ -1324,8 +1418,14 @@ jobs:
|
|
|
1324
1418
|
node -e 'fs=require("fs");fs.readFile(process.env.PG_TEST_FNAME,"utf8",(err,data)=>{if(err!=null)throw err;fs.writeFile(process.env.PG_TEST_FNAME,data.replaceAll(process.env.FIND,process.env.PG_HOST),"utf8",e=>{if(e!=null)throw e;});});'
|
|
1325
1419
|
node -e 'fs=require("fs");fs.readFile(process.env.SQL_TEST_FNAME,"utf8",(err,data)=>{if(err!=null)throw err;fs.writeFile(process.env.SQL_TEST_FNAME,data.replaceAll(process.env.FIND,process.env.PG_HOST),"utf8",e=>{if(e!=null)throw e;});});'
|
|
1326
1420
|
|
|
1421
|
+
- name: Install uv
|
|
1422
|
+
run: pip3 install uv
|
|
1423
|
+
|
|
1327
1424
|
- name: Install dependencies
|
|
1328
|
-
run:
|
|
1425
|
+
run: |
|
|
1426
|
+
uv venv
|
|
1427
|
+
source .venv/bin/activate
|
|
1428
|
+
uv pip install rangehttpserver requests
|
|
1329
1429
|
|
|
1330
1430
|
# shell needs to be built first to generate the dataset provided by the server
|
|
1331
1431
|
- name: Extension test build
|
|
@@ -1398,8 +1498,13 @@ jobs:
|
|
|
1398
1498
|
WERROR: 0
|
|
1399
1499
|
steps:
|
|
1400
1500
|
- uses: actions/checkout@v4
|
|
1501
|
+
- name: Install uv
|
|
1502
|
+
run: pip install uv
|
|
1401
1503
|
- name: Install dependencies
|
|
1402
|
-
run:
|
|
1504
|
+
run: |
|
|
1505
|
+
uv venv
|
|
1506
|
+
call .venv\Scripts\activate.bat
|
|
1507
|
+
uv pip install rangehttpserver requests
|
|
1403
1508
|
|
|
1404
1509
|
- name: Update PostgreSQL host
|
|
1405
1510
|
working-directory: extension/postgres/test/test_files
|
|
@@ -4,50 +4,72 @@ on: workflow_dispatch
|
|
|
4
4
|
|
|
5
5
|
jobs:
|
|
6
6
|
build-python-package:
|
|
7
|
-
runs-on:
|
|
8
|
-
if: false
|
|
9
|
-
env:
|
|
10
|
-
PLATFORM: manylinux_2_28_x86_64
|
|
7
|
+
runs-on: ubuntu-latest
|
|
11
8
|
steps:
|
|
12
9
|
- uses: actions/checkout@v4
|
|
13
10
|
|
|
14
|
-
- name:
|
|
15
|
-
|
|
11
|
+
- name: Package Python sdist
|
|
12
|
+
run: python package_tar.py
|
|
13
|
+
working-directory: scripts/pip-package
|
|
14
|
+
|
|
15
|
+
- name: Set up Python
|
|
16
|
+
uses: actions/setup-python@v5
|
|
17
|
+
with:
|
|
18
|
+
python-version: '3.11'
|
|
19
|
+
|
|
20
|
+
- name: Install uv
|
|
21
|
+
run: python -m pip install uv
|
|
22
|
+
|
|
23
|
+
- name: Install cibuildwheel
|
|
24
|
+
run: uv pip install cibuildwheel
|
|
25
|
+
|
|
26
|
+
- name: Build wheels
|
|
27
|
+
env:
|
|
28
|
+
CIBW_PLATFORM: linux
|
|
29
|
+
CIBW_BUILD: "cp310-*"
|
|
30
|
+
CIBW_ARCHS: "auto"
|
|
31
|
+
CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
|
|
32
|
+
CIBW_SKIP: "*-musllinux_*"
|
|
16
33
|
run: |
|
|
17
|
-
|
|
18
|
-
/opt/python/cp310-cp310/bin/python package_tar.py lbug.tar.gz
|
|
19
|
-
/opt/python/cp310-cp310/bin/pip wheel lbug.tar.gz --no-deps -w wheelhouse/
|
|
20
|
-
auditwheel repair wheelhouse/lbug-*.whl -w wheelhouse/
|
|
34
|
+
python -m cibuildwheel --output-dir scripts/pip-package/wheelhouse scripts/pip-package/*.tar.gz
|
|
21
35
|
|
|
22
36
|
- uses: actions/upload-artifact@v4
|
|
23
37
|
with:
|
|
24
38
|
name: lbug-python-package
|
|
25
|
-
path: scripts/pip-package/wheelhouse/*.
|
|
39
|
+
path: scripts/pip-package/wheelhouse/*.whl
|
|
26
40
|
|
|
27
41
|
generate-python-docs:
|
|
28
42
|
runs-on: ubuntu-latest
|
|
29
43
|
needs: build-python-package
|
|
30
|
-
container:
|
|
31
|
-
image: python:3.10-bullseye
|
|
32
44
|
steps:
|
|
33
45
|
- uses: actions/checkout@v4
|
|
34
46
|
|
|
47
|
+
- name: Set up Python
|
|
48
|
+
uses: actions/setup-python@v5
|
|
49
|
+
with:
|
|
50
|
+
python-version: '3.10'
|
|
51
|
+
|
|
35
52
|
- name: Download Python package
|
|
36
53
|
uses: actions/download-artifact@v4
|
|
37
54
|
with:
|
|
38
55
|
name: lbug-python-package
|
|
39
56
|
|
|
57
|
+
- name: Install uv
|
|
58
|
+
run: pip install uv
|
|
59
|
+
|
|
40
60
|
- name: Install Python packages
|
|
41
61
|
run: |
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
pip install
|
|
45
|
-
pip install
|
|
62
|
+
uv venv
|
|
63
|
+
source .venv/bin/activate
|
|
64
|
+
uv pip install *.whl
|
|
65
|
+
uv pip install pdoc
|
|
66
|
+
uv pip install torch~=2.5.0 --extra-index-url https://download.pytorch.org/whl/cpu
|
|
67
|
+
uv pip install --prerelease=allow -e tools/python_api/[dev]
|
|
46
68
|
|
|
47
69
|
- name: Generate Python docs
|
|
48
70
|
run: |
|
|
49
71
|
mkdir docs
|
|
50
|
-
pdoc --docformat "numpy" -o docs
|
|
72
|
+
pdoc --docformat "numpy" -o docs real_ladybug
|
|
51
73
|
|
|
52
74
|
- name: Upload Python docs
|
|
53
75
|
uses: actions/upload-artifact@v4
|
|
@@ -79,7 +101,7 @@ jobs:
|
|
|
79
101
|
with:
|
|
80
102
|
name: lbug-nodejs-docs
|
|
81
103
|
path: ./docs
|
|
82
|
-
|
|
104
|
+
|
|
83
105
|
generate-wasm-docs:
|
|
84
106
|
runs-on: macos-latest
|
|
85
107
|
steps:
|
|
@@ -109,11 +131,15 @@ jobs:
|
|
|
109
131
|
|
|
110
132
|
generate-java-docs:
|
|
111
133
|
runs-on: ubuntu-latest
|
|
112
|
-
container:
|
|
113
|
-
image: openjdk:20
|
|
114
134
|
steps:
|
|
115
135
|
- uses: actions/checkout@v4
|
|
116
136
|
|
|
137
|
+
- name: Set up JDK
|
|
138
|
+
uses: actions/setup-java@v4
|
|
139
|
+
with:
|
|
140
|
+
java-version: '20'
|
|
141
|
+
distribution: 'temurin'
|
|
142
|
+
|
|
117
143
|
- name: Generate Java docs
|
|
118
144
|
shell: bash
|
|
119
145
|
run: |
|
|
@@ -146,7 +172,7 @@ jobs:
|
|
|
146
172
|
with:
|
|
147
173
|
name: lbug-cpp-docs
|
|
148
174
|
path: ./scripts/generate-cpp-docs/cpp/docs/html
|
|
149
|
-
|
|
175
|
+
|
|
150
176
|
- name: Upload C docs
|
|
151
177
|
uses: actions/upload-artifact@v4
|
|
152
178
|
with:
|
|
@@ -165,10 +191,10 @@ jobs:
|
|
|
165
191
|
steps:
|
|
166
192
|
- uses: actions/checkout@v4
|
|
167
193
|
with:
|
|
168
|
-
repository:
|
|
194
|
+
repository: LadybugDB/api-docs
|
|
169
195
|
token: ${{ secrets.DOC_PUSH_TOKEN }}
|
|
170
196
|
path: api-docs
|
|
171
|
-
|
|
197
|
+
|
|
172
198
|
- name: Remove old documentations
|
|
173
199
|
run: |
|
|
174
200
|
rm -rf api-docs/python
|
|
@@ -183,7 +209,7 @@ jobs:
|
|
|
183
209
|
with:
|
|
184
210
|
name: lbug-python-docs
|
|
185
211
|
path: api-docs/python
|
|
186
|
-
|
|
212
|
+
|
|
187
213
|
- name: Download Node.js docs
|
|
188
214
|
uses: actions/download-artifact@v4
|
|
189
215
|
with:
|
|
@@ -195,7 +221,7 @@ jobs:
|
|
|
195
221
|
with:
|
|
196
222
|
name: lbug-wasm-docs
|
|
197
223
|
path: api-docs/wasm
|
|
198
|
-
|
|
224
|
+
|
|
199
225
|
- name: Download Java docs
|
|
200
226
|
uses: actions/download-artifact@v4
|
|
201
227
|
with:
|
|
@@ -207,13 +233,13 @@ jobs:
|
|
|
207
233
|
with:
|
|
208
234
|
name: lbug-cpp-docs
|
|
209
235
|
path: api-docs/cpp
|
|
210
|
-
|
|
236
|
+
|
|
211
237
|
- name: Download C docs
|
|
212
238
|
uses: actions/download-artifact@v4
|
|
213
239
|
with:
|
|
214
240
|
name: lbug-c-docs
|
|
215
241
|
path: api-docs/c
|
|
216
|
-
|
|
242
|
+
|
|
217
243
|
- name: Push changes
|
|
218
244
|
working-directory: api-docs
|
|
219
245
|
run: |
|
|
@@ -223,7 +249,7 @@ jobs:
|
|
|
223
249
|
git add .
|
|
224
250
|
git commit -m "Update API documentations"
|
|
225
251
|
git push -u origin "api-documentation-update-${{ github.sha }}"
|
|
226
|
-
|
|
252
|
+
|
|
227
253
|
- name: Create pull request
|
|
228
254
|
working-directory: api-docs
|
|
229
255
|
run: |
|