MIRPAMO/scripts/deploy.sh
jing a148b4a543 MIRPAMO v0: local Mixamo — autorig + retarget via headless Blender
- autorig: landmark detection from vertex cloud (markers JSON override),
  mixamorig 22-bone skeleton fit, bone-heat weights + nearest-bone rescue
- retarget: world-space quaternion delta transfer, hip-height scale
  compensation, fuzzy/explicit bone mapping (CMU map bundled)
- smoke: procedural test humanoid + synthetic BVH -> rig -> retarget -> verify
- deploy: push to gitea, pull + smoke on m3ultra and m1ultra

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 01:26:13 +10:00

42 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
# Push current main to Gitea, then pull + smoke-test on the studio Macs.
# ./scripts/deploy.sh # push + pull + remote smoke on all hosts
# ./scripts/deploy.sh --no-smoke # skip the remote smoke tests
set -euo pipefail
REPO_URL="https://gitea.partly.party/monster/MIRPAMO.git"
REMOTE_PATH="~/Documents/MIRPAMO"
HOSTS=(
"m3ultra@100.89.131.57"
"johnking@100.91.239.7"
)
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"
RUN_SMOKE=1
[[ "${1:-}" == "--no-smoke" ]] && RUN_SMOKE=0
echo "== pushing to $REPO_URL"
git push origin main
for HOST in "${HOSTS[@]}"; do
echo
echo "== $HOST: pull"
ssh -o ConnectTimeout=10 "$HOST" "
if [ -d $REMOTE_PATH/.git ]; then
git -C $REMOTE_PATH pull --ff-only
else
git clone $REPO_URL $REMOTE_PATH
fi"
if [[ $RUN_SMOKE == 1 ]]; then
echo "== $HOST: smoke test"
ssh "$HOST" "cd $REMOTE_PATH && ./bin/mirpamo smoke" \
&& echo "== $HOST: PASS" \
|| { echo "== $HOST: FAIL"; exit 1; }
fi
done
echo
echo "deploy complete"