#!/bin/bash echo "starting..." << COMMENTOUT000 # 必須: 環境変数 sc4sc_token が設定されていることを確認 if [ -z "$sc4sc_token" ]; then echo "Error: 環境変数 sc4sc_token が設定されていません。" exit 1 fi SRC_DIR="$(cd "$(dirname "$0")" && pwd)/dist" WORK_DIR=$(mktemp -d) echo "作業ディレクトリ: $WORK_DIR" REPO_URL="https://user:$sc4sc_token@huggingface.co/spaces/s-4-s/editor" # リモートから clone git clone "$REPO_URL" "$WORK_DIR" cd "$WORK_DIR" || exit 1 # Git LFS を初期化 git lfs install # LFS対象ファイルの拡張子をすべて登録 git lfs track "*.js" git lfs track "*.map" git lfs track "*.ttf" git lfs track "*.otf" git lfs track "*.png" git add .gitattributes # 既存内容を削除(.git を除く) find . -mindepth 1 -maxdepth 1 ! -name ".git" -exec rm -rf {} + # dist フォルダの中身をすべてコピー rsync -av "$SRC_DIR/" "$WORK_DIR/" # バイナリファイルを Git LFS に登録し直す find . -type f \( -name "*.js" -o -name "*.map" -o -name "*.ttf" -o -name "*.otf" -o -name "*.png" \) -exec git rm --cached {} \; 2>/dev/null || true find . -type f \( -name "*.js" -o -name "*.map" -o -name "*.ttf" -o -name "*.otf" -o -name "*.png" \) -exec git add {} \; # Dockerfile の CMD を修正(必要なら) if [ -f Dockerfile ]; then sed -i.bak 's|CMD /bin/sh -c "./upload.sh && npm start"|CMD /bin/sh -c "npm start"|' Dockerfile fi # Git 設定とコミット・プッシュ git config user.name "auto-deploy" git config user.email "auto@deploy.com" git add . git commit -m "Auto deploy at $(date '+%Y-%m-%d %H:%M:%S')" || echo "No changes to commit." git push origin main --force # 後始末 cd .. rm -rf "$WORK_DIR" echo "アップロード完了 ✅" COMMENTOUT000