Skip to content

Merge pull request #22 from array2d/feat/install-cli #27

Merge pull request #22 from array2d/feat/install-cli

Merge pull request #22 from array2d/feat/install-cli #27

Workflow file for this run

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