Cachy / deploy_hf.sh
Vatxzz's picture
Presenter: fix missing icons and no voice on web deploy
4578e83
Raw
History Blame Contribute Delete
1.24 kB
#!/usr/bin/env bash
# Usage: ./deploy_hf.sh ["optional commit message"]
# Builds Flutter web locally then pushes backend + web to HF Spaces.
set -e
MSG=${1:-"deploy: update $(date '+%Y-%m-%d %H:%M')"}
# 1. Build Flutter web (empty CACHY_API_BASE = relative URLs = same-origin API)
echo "Building Flutter web..."
cd app
# --no-tree-shake-icons: keep full icon fonts so runtime-selected icons (e.g. the
# presenter glyph) render on the deploy instead of showing as blank boxes.
flutter build web --release --no-tree-shake-icons --dart-define=CACHY_API_BASE= 2>&1
cd ..
# 2. Sync build output into web_dist/
rm -rf web_dist
cp -r app/build/web web_dist
# 3. Create detached deployment commit so main stays clean
BRANCH=$(git branch --show-current)
trap 'git checkout --quiet "$BRANCH" 2>/dev/null || true' EXIT
git checkout --detach --quiet
git add backend/ Dockerfile README.md
git rm -r --cached web_dist/ 2>/dev/null || true
git add -f web_dist/
git diff --cached --quiet && echo "Nothing to deploy." && exit 0
git commit -m "$MSG"
# Push ONLY to HF using detached HEAD (GitHub stays free of built assets)
git push --force hf HEAD:main
echo ""
echo "Deployed → https://vatxzz-cachy.hf.space"
echo "(HF rebuilds Docker in ~2-3 min)"