refactor(build): rename core binary to openhuman-core and update workflows

- Changed the default binary name from "openhuman" to "openhuman-core" in Cargo.toml and related scripts.
- Updated build and test workflows to reference the new binary name, ensuring consistency across the project.
- Adjusted paths and executable checks in the codebase to accommodate the renamed binary, improving clarity and maintainability.
This commit is contained in:
Steven Enamakel
2026-03-30 21:20:13 -07:00
parent 3ed27421a8
commit 9b6b8d4442
10 changed files with 57 additions and 35 deletions
+3 -3
View File
@@ -70,13 +70,13 @@ jobs:
run: yarn install --frozen-lockfile
- name: Build sidecar core binary
run: cargo build --manifest-path Cargo.toml --release --target x86_64-unknown-linux-gnu --bin openhuman
run: cargo build --manifest-path Cargo.toml --release --target x86_64-unknown-linux-gnu --bin openhuman-core
- name: Stage sidecar for Tauri bundler
run: |
mkdir -p app/src-tauri/binaries
cp target/x86_64-unknown-linux-gnu/release/openhuman app/src-tauri/binaries/openhuman-x86_64-unknown-linux-gnu
chmod +x app/src-tauri/binaries/openhuman-x86_64-unknown-linux-gnu
cp target/x86_64-unknown-linux-gnu/release/openhuman-core app/src-tauri/binaries/openhuman-core-x86_64-unknown-linux-gnu
chmod +x app/src-tauri/binaries/openhuman-core-x86_64-unknown-linux-gnu
- name: Build Tauri app
working-directory: app
+13 -4
View File
@@ -351,7 +351,7 @@ jobs:
exit 1
fi
SIDE_CAR_BASE="$(node -e "const fs=require('fs');const c=JSON.parse(fs.readFileSync('app/src-tauri/tauri.conf.json','utf8'));const b=(c.bundle&&Array.isArray(c.bundle.externalBin)&&c.bundle.externalBin[0])||'binaries/openhuman';process.stdout.write(String(b).split('/').pop());")"
SIDE_CAR_BASE="$(node -e "const fs=require('fs');const c=JSON.parse(fs.readFileSync('app/src-tauri/tauri.conf.json','utf8'));const b=(c.bundle&&Array.isArray(c.bundle.externalBin)&&c.bundle.externalBin[0])||'binaries/openhuman-core';process.stdout.write(String(b).split('/').pop());")"
CORE_BIN_NAME="${SIDE_CAR_BASE}"
echo "core_dir=$CORE_DIR" >> "$GITHUB_OUTPUT"
@@ -522,13 +522,22 @@ jobs:
rm -f "$CERT_FILE"
echo "Signing identity imported into $KEYCHAIN"
echo "=== Re-signing binaries inside the .app with hardened runtime ==="
echo "=== Fixing executable name and signing ==="
# Tauri/Cargo may produce the binary as lowercase "openhuman" but
# Info.plist sets CFBundleExecutable to "OpenHuman". codesign
# verification fails when these don't match. Rename to match plist.
EXPECTED_EXE="$(defaults read "$APP_PATH/Contents/Info.plist" CFBundleExecutable 2>/dev/null || echo "OpenHuman")"
ACTUAL_EXE="$(ls "$APP_PATH/Contents/MacOS/" | head -1)"
# The .app contains only the main Tauri binary (openhuman) — no
# separate sidecar. Just sign the whole bundle with hardened runtime.
echo "Bundle contents:"
ls -la "$APP_PATH/Contents/MacOS/"
if [ "$ACTUAL_EXE" != "$EXPECTED_EXE" ]; then
echo "Fixing executable name: $ACTUAL_EXE -> $EXPECTED_EXE"
mv "$APP_PATH/Contents/MacOS/$ACTUAL_EXE" "$APP_PATH/Contents/MacOS/$EXPECTED_EXE"
fi
echo "Signing .app bundle with hardened runtime..."
codesign --force --options runtime \
--entitlements "$ENTITLEMENTS" \
+3 -3
View File
@@ -102,13 +102,13 @@ jobs:
run: cargo test -p openhuman
- name: Build sidecar core binary
run: cargo build --manifest-path Cargo.toml --release --target x86_64-unknown-linux-gnu --bin openhuman
run: cargo build --manifest-path Cargo.toml --release --target x86_64-unknown-linux-gnu --bin openhuman-core
- name: Stage sidecar for Tauri shell tests
run: |
mkdir -p app/src-tauri/binaries
cp target/x86_64-unknown-linux-gnu/release/openhuman app/src-tauri/binaries/openhuman-x86_64-unknown-linux-gnu
chmod +x app/src-tauri/binaries/openhuman-x86_64-unknown-linux-gnu
cp target/x86_64-unknown-linux-gnu/release/openhuman-core app/src-tauri/binaries/openhuman-core-x86_64-unknown-linux-gnu
chmod +x app/src-tauri/binaries/openhuman-core-x86_64-unknown-linux-gnu
- name: Test Tauri shell (OpenHuman)
run: cargo test --manifest-path app/src-tauri/Cargo.toml