Skip to content

Commit 504a439

Browse files
authored
Merge pull request #362 from wudidapaopao/add_static_lib
Add chdb static library
2 parents affe78e + 746c8b5 commit 504a439

20 files changed

+3198
-6
lines changed

.github/workflows/build_linux_arm64_wheels-gh.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,17 @@ jobs:
124124
pyenv shell 3.8
125125
bash -x ./chdb/test_smoke.sh
126126
continue-on-error: false
127+
- name: Run chdb/build/build_static_lib.sh
128+
timeout-minutes: 600
129+
run: |
130+
export CC=/usr/bin/clang
131+
export CXX=/usr/bin/clang++
132+
export PATH="$HOME/.pyenv/bin:$PATH"
133+
eval "$(pyenv init -)"
134+
pyenv shell 3.8
135+
bash ./chdb/build/build_static_lib.sh
136+
pyenv shell --unset
137+
continue-on-error: false
127138
- name: Run libchdb stub in examples dir
128139
run: |
129140
bash -x ./examples/runStub.sh
@@ -206,18 +217,30 @@ jobs:
206217
cp programs/local/chdb.h chdb.h
207218
cp programs/local/chdb.hpp chdb.hpp
208219
tar -czvf linux-aarch64-libchdb.tar.gz libchdb.so chdb.h chdb.hpp
220+
- name: Package libchdb.a
221+
run: |
222+
cp programs/local/chdb.h chdb.h
223+
cp programs/local/chdb.hpp chdb.hpp
224+
tar -czvf linux-aarch64-libchdb-static.tar.gz libchdb.a chdb.h chdb.hpp
209225
- name: Upload libchdb.so to release
210226
if: startsWith(github.ref, 'refs/tags/v')
211227
run: |
212228
gh release upload ${{ github.ref_name }} linux-aarch64-libchdb.tar.gz --clobber
213229
env:
214230
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
231+
- name: Upload libchdb.a to release
232+
if: startsWith(github.ref, 'refs/tags/v')
233+
run: |
234+
gh release upload ${{ github.ref_name }} linux-aarch64-libchdb-static.tar.gz --clobber
235+
env:
236+
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
215237
- uses: actions/upload-artifact@v4
216238
with:
217239
name: chdb-artifacts-linux-aarch64
218240
path: |
219241
./dist/*.whl
220242
./linux-aarch64-libchdb.tar.gz
243+
./linux-aarch64-libchdb-static.tar.gz
221244
overwrite: true
222245
- name: Upload pypi
223246
if: startsWith(github.ref, 'refs/tags/v')

.github/workflows/build_linux_x86_wheels.yml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,17 @@ jobs:
124124
pyenv shell 3.8
125125
bash -x ./chdb/test_smoke.sh
126126
continue-on-error: false
127+
- name: Run chdb/build/build_static_lib.sh
128+
timeout-minutes: 600
129+
run: |
130+
export CC=/usr/bin/clang
131+
export CXX=/usr/bin/clang++
132+
export PATH="$HOME/.pyenv/bin:$PATH"
133+
eval "$(pyenv init -)"
134+
pyenv shell 3.8
135+
bash ./chdb/build/build_static_lib.sh
136+
pyenv shell --unset
137+
continue-on-error: false
127138
- name: Run libchdb stub in examples dir
128139
run: |
129140
bash -x ./examples/runStub.sh
@@ -205,18 +216,30 @@ jobs:
205216
cp programs/local/chdb.h chdb.h
206217
cp programs/local/chdb.hpp chdb.hpp
207218
tar -czvf linux-x86_64-libchdb.tar.gz libchdb.so chdb.h chdb.hpp
219+
- name: Package libchdb.a
220+
run: |
221+
cp programs/local/chdb.h chdb.h
222+
cp programs/local/chdb.hpp chdb.hpp
223+
tar -czvf linux-x86_64-libchdb-static.tar.gz libchdb.a chdb.h chdb.hpp
208224
- name: Upload libchdb.so to release
209225
if: startsWith(github.ref, 'refs/tags/v')
210226
run: |
211227
gh release upload ${{ github.ref_name }} linux-x86_64-libchdb.tar.gz --clobber
212228
env:
213229
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
230+
- name: Upload libchdb.a to release
231+
if: startsWith(github.ref, 'refs/tags/v')
232+
run: |
233+
gh release upload ${{ github.ref_name }} linux-x86_64-libchdb-static.tar.gz --clobber
234+
env:
235+
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
214236
- uses: actions/upload-artifact@v4
215237
with:
216238
name: chdb-artifacts-linux-x86_64
217239
path: |
218240
./dist/*.whl
219241
./linux-x86_64-libchdb.tar.gz
242+
./linux-x86_64-libchdb-static.tar.gz
220243
overwrite: true
221244
- name: Upload pypi
222245
if: startsWith(github.ref, 'refs/tags/v')
@@ -228,4 +251,3 @@ jobs:
228251
env:
229252
TWINE_USERNAME: __token__
230253
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
231-

.github/workflows/build_macos_arm64_wheels.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,13 @@ jobs:
7979
brew install ca-certificates lz4 mpdecimal openssl@3 readline sqlite xz z3 zstd
8080
brew install --ignore-dependencies llvm@19
8181
brew install git ccache ninja libtool gettext gcc binutils grep findutils nasm
82+
brew install go
8283
cd /usr/local/opt/ && sudo rm -f llvm && sudo ln -sf llvm@19 llvm
8384
export PATH=$(brew --prefix llvm@19)/bin:$PATH
8485
which clang++
8586
clang++ --version
87+
which go
88+
go version
8689
ccache -s
8790
- uses: actions/checkout@v3
8891
with:
@@ -109,6 +112,16 @@ jobs:
109112
bash ./chdb/build.sh
110113
pyenv shell 3.8
111114
bash -x ./chdb/test_smoke.sh
115+
- name: Run chdb/build/build_static_lib.sh
116+
timeout-minutes: 600
117+
run: |
118+
export PATH=$HOME/.pyenv/bin:$(brew --prefix llvm@19)/bin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/binutils/bin:$PATH:/usr/local/opt/findutils/libexec/gnubin
119+
export CC=$(brew --prefix llvm@19)/bin/clang
120+
export CXX=$(brew --prefix llvm@19)/bin/clang++
121+
eval "$(pyenv init -)"
122+
pyenv shell 3.8
123+
bash ./chdb/build/build_static_lib.sh
124+
pyenv shell --unset
112125
continue-on-error: false
113126
- name: Debug libchdb
114127
run: |
@@ -209,18 +222,30 @@ jobs:
209222
cp programs/local/chdb.h chdb.h
210223
cp programs/local/chdb.hpp chdb.hpp
211224
tar -czvf macos-arm64-libchdb.tar.gz libchdb.so chdb.h chdb.hpp
225+
- name: Package libchdb.a
226+
run: |
227+
cp programs/local/chdb.h chdb.h
228+
cp programs/local/chdb.hpp chdb.hpp
229+
tar -czvf macos-arm64-libchdb-static.tar.gz libchdb.a chdb.h chdb.hpp
212230
- name: Upload libchdb.so to release
213231
if: startsWith(github.ref, 'refs/tags/v')
214232
run: |
215233
gh release upload ${{ github.ref_name }} macos-arm64-libchdb.tar.gz --clobber
216234
env:
217235
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
236+
- name: Upload libchdb.a to release
237+
if: startsWith(github.ref, 'refs/tags/v')
238+
run: |
239+
gh release upload ${{ github.ref_name }} macos-arm64-libchdb-static.tar.gz --clobber
240+
env:
241+
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
218242
- uses: actions/upload-artifact@v4
219243
with:
220244
name: chdb-artifacts-macos-arm64
221245
path: |
222246
./dist/*.whl
223247
./macos-arm64-libchdb.tar.gz
248+
./macos-arm64-libchdb-static.tar.gz
224249
overwrite: true
225250
- name: Upload pypi
226251
if: startsWith(github.ref, 'refs/tags/v')

.github/workflows/build_macos_x86_wheels.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,13 @@ jobs:
7979
brew install ca-certificates lz4 mpdecimal openssl@3 readline sqlite xz z3 zstd
8080
brew install --ignore-dependencies llvm@19
8181
brew install git ccache ninja libtool gettext gcc binutils grep findutils nasm
82+
brew install go
8283
cd /usr/local/opt/ && sudo rm -f llvm && sudo ln -sf llvm@19 llvm
8384
export PATH=$(brew --prefix llvm@19)/bin:$PATH
8485
which clang++
8586
clang++ --version
87+
which go
88+
go version
8689
ccache -s
8790
- uses: actions/checkout@v3
8891
with:
@@ -110,6 +113,17 @@ jobs:
110113
pyenv shell 3.8
111114
bash -x ./chdb/test_smoke.sh
112115
continue-on-error: false
116+
- name: Run chdb/build/build_static_lib.sh
117+
timeout-minutes: 600
118+
run: |
119+
export PATH=$HOME/.pyenv/bin:$(brew --prefix llvm@19)/bin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/binutils/bin:$PATH:/usr/local/opt/findutils/libexec/gnubin
120+
export CC=$(brew --prefix llvm@19)/bin/clang
121+
export CXX=$(brew --prefix llvm@19)/bin/clang++
122+
eval "$(pyenv init -)"
123+
pyenv shell 3.8
124+
bash ./chdb/build/build_static_lib.sh
125+
pyenv shell --unset
126+
continue-on-error: false
113127
- name: Debug libchdb
114128
run: |
115129
ls -lh
@@ -209,18 +223,30 @@ jobs:
209223
cp programs/local/chdb.h chdb.h
210224
cp programs/local/chdb.hpp chdb.hpp
211225
tar -czvf macos-x86_64-libchdb.tar.gz libchdb.so chdb.h chdb.hpp
226+
- name: Package libchdb.a
227+
run: |
228+
cp programs/local/chdb.h chdb.h
229+
cp programs/local/chdb.hpp chdb.hpp
230+
tar -czvf macos-x86_64-libchdb-static.tar.gz libchdb.a chdb.h chdb.hpp
212231
- name: Upload libchdb.so to release
213232
if: startsWith(github.ref, 'refs/tags/v')
214233
run: |
215234
gh release upload ${{ github.ref_name }} macos-x86_64-libchdb.tar.gz --clobber
216235
env:
217236
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
237+
- name: Upload libchdb.a to release
238+
if: startsWith(github.ref, 'refs/tags/v')
239+
run: |
240+
gh release upload ${{ github.ref_name }} macos-x86_64-libchdb-static.tar.gz --clobber
241+
env:
242+
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
218243
- uses: actions/upload-artifact@v4
219244
with:
220245
name: chdb-artifacts-macos-x86_64
221246
path: |
222247
./dist/*.whl
223248
./macos-x86_64-libchdb.tar.gz
249+
./macos-x86_64-libchdb-static.tar.gz
224250
overwrite: true
225251
- name: Upload pypi
226252
if: startsWith(github.ref, 'refs/tags/v')

chdb/.flake8

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
[flake8]
22
max-line-length = 130
33
extend-ignore = E722
4+
exclude =
5+
build/

0 commit comments

Comments
 (0)