Files
ra-h-os/scripts/test-universal-build.sh
T
“BeeRad” 733d1c3407 Initial commit: RA-H Open Source Edition
Local-first knowledge management system with BYO API keys.

Features:
- 3-panel UI (Nodes | Focus | Helpers)
- SQLite + sqlite-vec for vector search
- Agent system (Easy/Hard mode orchestrators)
- Content extraction (YouTube, PDF, web)
- Integrate workflow for connection discovery
- Dimension system with auto-assignment

Tech stack:
- Next.js 15 + TypeScript + Tailwind CSS
- Anthropic (Claude) + OpenAI (GPT) via Vercel AI SDK

Setup:
  npm install && npm rebuild better-sqlite3
  scripts/dev/bootstrap-local.sh
  npm run dev

MIT License
2025-12-15 16:14:28 +11:00

67 lines
1.8 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
set -euo pipefail
# Smoke test the universal binaries by loading them under both architectures.
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
DIST_ROOT="${DIST_ROOT:-$REPO_ROOT/dist/local-app}"
APP_DIR="$DIST_ROOT/app"
NODE_BIN="$DIST_ROOT/bin/node"
assert_exists() {
local path="$1"
if [ ! -e "$path" ]; then
echo "❌ Missing required artifact: $path" >&2
exit 1
fi
}
check_universal() {
local path="$1"
if ! file "$path" | grep -q "arm64"; then
echo "❌ $path is missing arm64 slice" >&2
exit 1
fi
if ! file "$path" | grep -q "x86_64"; then
echo "❌ $path is missing x86_64 slice" >&2
exit 1
fi
}
run_dual_arch_node() {
local arch="$1"
local script="$2"
if [ "$arch" = "x86_64" ]; then
arch -x86_64 "$NODE_BIN" -e "$script"
else
arch -arm64 "$NODE_BIN" -e "$script"
fi
}
main() {
assert_exists "$NODE_BIN"
assert_exists "$APP_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node"
assert_exists "$DIST_ROOT/vendor/sqlite-extensions/vec0.dylib"
echo "️ Verifying universal slices"
check_universal "$NODE_BIN"
check_universal "$APP_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node"
check_universal "$DIST_ROOT/vendor/sqlite-extensions/vec0.dylib"
echo "️ Running runtime smoke tests"
run_dual_arch_node arm64 "console.log('arm64 runtime ok')"
run_dual_arch_node x86_64 "console.log('x86 runtime ok')"
(
cd "$APP_DIR"
run_dual_arch_node arm64 "require('./node_modules/better-sqlite3'); console.log('better-sqlite3 arm64 ok')"
run_dual_arch_node x86_64 "require('./node_modules/better-sqlite3'); console.log('better-sqlite3 x86 ok')"
)
echo "✅ Universal build smoke test passed"
}
main "$@"