Merge pull request #22 from array2d/feat/install-cli #27
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ci-macos | |
| on: [push, pull_request] | |
| jobs: | |
| build: | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: 构建依赖 blockmalloc / slotsboxmalloc / kvspace-c(macOS 无预编译 ABI,源码装 /usr/local) | |
| run: | | |
| set -euo pipefail | |
| for repo in blockmalloc slotsboxmalloc kvspace-c; do | |
| git clone --depth 1 "https://github.com/array2d/$repo.git" "/tmp/$repo" | |
| cmake -S "/tmp/$repo" -B "/tmp/$repo/build" \ | |
| -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local | |
| cmake --build "/tmp/$repo/build" -j | |
| sudo cmake --install "/tmp/$repo/build" | |
| done | |
| - name: 构建 | |
| run: | | |
| cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local | |
| cmake --build build | |
| - name: 安装(验证安装规则) | |
| run: sudo cmake --install build | |
| - name: 后端装载冒烟(frontend 的 dlopen 真能加载后端) | |
| run: | | |
| cat > /tmp/conn.c <<'EOF' | |
| #include <kvspace/kvspace.h> | |
| #include <stdio.h> | |
| int main(void) { | |
| void *h = kvspaceConnect("shm:///tmp/ks_ci_macos"); | |
| printf("connect shm:// → %p\n", h); | |
| if (h) kvspaceClose(h); | |
| return h ? 0 : 1; | |
| } | |
| EOF | |
| cc /tmp/conn.c -o /tmp/conn -I/usr/local/include -L/usr/local/lib/kvspace -lkvspace | |
| # libkvspace 在 /usr/local/lib/kvspace;后端依赖 libblockmalloc 在 /usr/local/lib | |
| DYLD_FALLBACK_LIBRARY_PATH=/usr/local/lib:/usr/local/lib/kvspace /tmp/conn |