File size: 1,711 Bytes
c8abb98
dc7c3d5
06aa71a
de67995
c8abb98
de67995
c8abb98
 
8f5f2da
dc7c3d5
de67995
 
c8abb98
dc7c3d5
31eae05
de67995
dc7c3d5
0b78390
de67995
 
dc7c3d5
 
 
 
 
 
cee8b15
 
dc7c3d5
 
 
de67995
06aa71a
dc7c3d5
cee8b15
2f2fb9b
dc7c3d5
8f5f2da
dc7c3d5
 
 
 
c8abb98
cee8b15
dc7c3d5
f326774
 
3e6059a
 
dc7c3d5
de67995
 
0b78390
de67995
dc7c3d5
de67995
dc7c3d5
de67995
 
 
 
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
#!/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 add .gitattributes

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

# コピー元(dist)パス
SRC_DIR=$(pwd)/dist

# 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 "アップロード完了 ✅"