File size: 1,748 Bytes
c8abb98
51f1118
39c505a
de67995
c8abb98
de67995
c8abb98
 
8f5f2da
39c505a
de67995
 
c8abb98
39c505a
31eae05
de67995
dc7c3d5
0b78390
de67995
 
dc7c3d5
 
 
39c505a
 
 
 
 
668b143
 
 
 
 
dc7c3d5
 
 
de67995
06aa71a
39c505a
dc7c3d5
8f5f2da
dc7c3d5
39c505a
 
 
 
cee8b15
39c505a
f326774
 
3e6059a
 
39c505a
de67995
 
0b78390
de67995
dc7c3d5
de67995
dc7c3d5
de67995
 
 
39c505a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/bash
echo "starting..."

# 必須: 環境変数 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"

# Git 認証つきURL
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/scratch-gui.js"
git lfs track "js/scratch-gui.js.map"
git lfs track "dist/js/scratch-gui.js"
git lfs track "dist/js/scratch-gui.js.map"
git lfs track "*.ttf"
git lfs track "*.otf"
git lfs track "*.png"
git lfs track "*.svg"

git add .gitattributes

# 既存内容を削除(.git を除く)
find . -mindepth 1 -maxdepth 1 ! -name ".git" -exec rm -rf {} +


# dist フォルダの中身をすべてコピー
rsync -av "$SRC_DIR/" "$WORK_DIR/"

# LFS対象ファイルを rm --cached → add し直す
git rm --cached js/scratch-gui.js js/scratch-gui.js.map 2>/dev/null || true
git add js/scratch-gui.js js/scratch-gui.js.map


# 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 設定と commit/push
git config user.name "auto-deploy"
git config user.email "[email protected]"
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 "アップロード完了 ✅"