2222jobs :
2323 build_universal_wheel :
2424 name : Build Universal Wheel (macOS x86_64)
25- runs-on : macos-14-large
25+ runs-on : macos-15-intel
26+ timeout-minutes : 600
2627 steps :
2728 - name : Check machine architecture
2829 run : |
@@ -43,13 +44,12 @@ jobs:
4344 export PATH="$HOME/.pyenv/bin:$PATH"
4445 eval "$(pyenv init -)"
4546
46- pyenv install 3.8:latest
4747 pyenv install 3.9:latest
4848 pyenv install 3.10:latest
4949 pyenv install 3.11:latest
5050 pyenv install 3.12:latest
5151 pyenv install 3.13:latest
52- pyenv global 3.8 3. 9 3.10 3.11 3.12 3.13
52+ pyenv global 3.9 3.10 3.11 3.12 3.13
5353
5454 echo "Installed versions:"
5555 pyenv versions
6161 pyenv versions
6262 echo ""
6363 echo "Verifying all required Python versions are available:"
64- for version in 3.8 3. 9 3.10 3.11 3.12 3.13; do
64+ for version in 3.9 3.10 3.11 3.12 3.13; do
6565 if ! pyenv versions --bare | grep -q "^$version"; then
6666 echo "ERROR: Python $version is not installed!"
6767 exit 1
7373 run : |
7474 export PATH="$HOME/.pyenv/bin:$PATH"
7575 eval "$(pyenv init -)"
76- for version in 3.8 3. 9 3.10 3.11 3.12 3.13; do
76+ for version in 3.9 3.10 3.11 3.12 3.13; do
7777 echo "Installing dependencies for Python $version"
7878 pyenv shell $version
7979 python -m pip install --upgrade pip
@@ -135,30 +135,39 @@ jobs:
135135 - name : Update submodules
136136 run : |
137137 git submodule update --init --recursive --jobs 4
138+ - name : ccache
139+ uses :
hendrikmuhs/[email protected] 140+ with :
141+ key : ${{ runner.os }}-x86_64-ccache
142+ max-size : 10G
143+ append-timestamp : true
144+ env :
145+ CCACHE_NOHASHDIR : " true"
138146 - name : Run chdb/build.sh
139147 timeout-minutes : 600
140148 run : |
141149 export PATH="$HOME/.pyenv/bin:$PATH"
142150 eval "$(pyenv init -)"
143151 source ~/.cargo/env
144- pyenv shell 3.8
152+ pyenv shell 3.9
145153 export PATH=$(brew --prefix llvm@19)/bin:$(brew --prefix lld@19)/bin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/binutils/bin:$PATH:/usr/local/opt/findutils/libexec/gnubin
146154 export CC=$(brew --prefix llvm@19)/bin/clang
147155 export CXX=$(brew --prefix llvm@19)/bin/clang++
148156 bash gen_manifest.sh
149157 bash ./chdb/build.sh
150- pyenv shell 3.8
158+ pyenv shell 3.9
151159 bash -x ./chdb/test_smoke.sh
152160 continue-on-error : false
153161 - name : Run chdb/build/build_static_lib.sh
154162 timeout-minutes : 600
155163 run : |
156- export PATH=$HOME/.pyenv/bin:$(brew --prefix llvm@19)/bin:$(brew --prefix lld@19)/bin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/binutils/bin:$PATH:/usr/local/opt/findutils/libexec/gnubin
164+ export PATH="$HOME/.pyenv/bin:$PATH"
165+ eval "$(pyenv init -)"
166+ source ~/.cargo/env
167+ export PATH=$(brew --prefix llvm@19)/bin:$(brew --prefix lld@19)/bin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/binutils/bin:$PATH:/usr/local/opt/findutils/libexec/gnubin
157168 export CC=$(brew --prefix llvm@19)/bin/clang
158169 export CXX=$(brew --prefix llvm@19)/bin/clang++
159- source ~/.cargo/env
160- eval "$(pyenv init -)"
161- pyenv shell 3.8
170+ pyenv shell 3.9
162171 bash ./chdb/build/build_static_lib.sh
163172 pyenv shell --unset
164173 continue-on-error : false
@@ -215,25 +224,31 @@ jobs:
215224 export PATH=$(brew --prefix llvm@19)/bin:$(brew --prefix lld@19)/bin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/binutils/bin:$PATH:/usr/local/opt/findutils/libexec/gnubin
216225 export CC=$(brew --prefix llvm@19)/bin/clang
217226 export CXX=$(brew --prefix llvm@19)/bin/clang++
218- pyenv shell 3.8
227+ pyenv shell 3.9
219228 make wheel
220229 - name : Fix wheel platform tag
221230 run : |
222231 export PATH="$HOME/.pyenv/bin:$PATH"
223232 eval "$(pyenv init -)"
224- pyenv shell 3.8
233+ pyenv shell 3.9
225234 python -m wheel tags --platform-tag=macosx_10_15_x86_64 --remove dist/*.whl
226235 - name : Setup core dump collection
227236 run : |
228237 mkdir -p tmp/core
229238 sudo sysctl kern.corefile=$PWD/tmp/core/core.%P
230239 sudo sysctl kern.coredump=1
231240 ulimit -c unlimited
241+ - name : Free up disk space
242+ run : |
243+ # Clean more build artifacts
244+ rm -rf buildlib/contrib 2>/dev/null || true
245+ rm -rf buildlib/base 2>/dev/null || true
246+ rm -rf buildlib/src 2>/dev/null || true
232247 - name : Test wheel on all Python versions
233248 run : |
234249 export PATH="$HOME/.pyenv/bin:$PATH"
235250 eval "$(pyenv init -)"
236- for version in 3.8 3. 9 3.10 3.11 3.12 3.13; do
251+ for version in 3.9 3.10 3.11 3.12 3.13; do
237252 echo "Testing chdb on Python $version"
238253 pyenv shell $version
239254 python -m pip install dist/*.whl --force-reinstall
@@ -305,7 +320,7 @@ jobs:
305320 run : |
306321 export PATH="$HOME/.pyenv/bin:$PATH"
307322 eval "$(pyenv init -)"
308- pyenv shell 3.8
323+ pyenv shell 3.9
309324 python -m twine upload dist/*.whl
310325 env :
311326 TWINE_USERNAME : __token__
0 commit comments