codeBOKER commited on
Commit
7c8c999
·
1 Parent(s): a4b8078

Add merge script for main -> huggingface-space-deployment

Browse files
Files changed (1) hide show
  1. scripts/merge-main-to-hfsd.sh +69 -0
scripts/merge-main-to-hfsd.sh ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ # Merge origin/main into huggingface-space-deployment while preserving
5
+ # HF-specific overrides (Dockerfile port/CMD, README frontmatter, app.py).
6
+
7
+ BRANCH="huggingface-space-deployment"
8
+ HF_FILES=(Dockerfile README.md app.py)
9
+
10
+ echo "==> Fetching origin..."
11
+ git fetch origin
12
+
13
+ echo "==> Switching to $BRANCH..."
14
+ git checkout "$BRANCH"
15
+
16
+ # Stash HF-specific files before merge so they survive any conflicts.
17
+ echo "==> Stashing HF-specific files..."
18
+ for f in "${HF_FILES[@]}"; do
19
+ [ -f "$f" ] && cp "$f" "/tmp/_hfsd_${f//\//_}"
20
+ done
21
+
22
+ echo "==> Merging origin/main..."
23
+ if ! git merge origin/main --no-edit; then
24
+ echo ""
25
+ echo "*** Merge produced conflicts. Resolving HF-specific files..."
26
+ for f in "${HF_FILES[@]}"; do
27
+ if git diff --name-only --diff-filter=U | grep -qx "$f"; then
28
+ cp "/tmp/_hfsd_${f//\//_}" "$f"
29
+ git add "$f"
30
+ echo " Resolved: $f (kept HF version)"
31
+ fi
32
+ done
33
+ git commit --no-edit
34
+ fi
35
+
36
+ # Ensure README has HF frontmatter.
37
+ if ! head -1 README.md | grep -q '^---'; then
38
+ echo "==> Re-adding HF frontmatter to README.md..."
39
+ TMP=$(mktemp)
40
+ cat > "$TMP" <<'FRONTMATTER'
41
+ ---
42
+ title: FALZH
43
+ sdk: docker
44
+ emoji: "\U0001F680"
45
+ colorFrom: blue
46
+ colorTo: blue
47
+ pinned: true
48
+ ---
49
+
50
+ FRONTMATTER
51
+ cat README.md >> "$TMP"
52
+ mv "$TMP" README.md
53
+ git add README.md
54
+ git commit -m "Restore HF README frontmatter" --no-edit
55
+ fi
56
+
57
+ # Ensure Dockerfile has HF overrides (port 7860, python entrypoint).
58
+ if ! grep -q 'PORT=7860' Dockerfile; then
59
+ echo "==> Restoring HF Dockerfile overrides..."
60
+ sed -i 's/^ENV PYTHONUNBUFFERED=1$/ENV PYTHONUNBUFFERED=1 \\\n PORT=7860/' Dockerfile
61
+ sed -i 's/^EXPOSE .*/EXPOSE 7860/' Dockerfile
62
+ sed -i 's|^CMD .*|CMD ["python", "app.py"]|' Dockerfile
63
+ git add Dockerfile
64
+ git commit -m "Restore HF Dockerfile overrides" --no-edit
65
+ fi
66
+
67
+ echo ""
68
+ echo "==> Done! $BRANCH is now up to date with origin/main + HF overrides."
69
+ echo " Run 'git push origin $BRANCH' to deploy."