feat: Add deployment scripts for HuggingFace Spaces
Browse files- Created deploy-hf.sh for Unix/Mac systems
- Created deploy-hf.bat for Windows systems
- Added npm script: npm run deploy:hf
- Configured git remote for HuggingFace Spaces
- Automated build and deployment workflow
Usage:
Windows: deploy-hf.bat
Unix/Mac: npm run deploy:hf
π€ Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
- deploy-hf.bat +76 -0
- deploy-hf.sh +59 -0
- package.json +2 -1
deploy-hf.bat
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
@echo off
|
| 2 |
+
REM HuggingFace Spaces Deployment Script for Windows
|
| 3 |
+
REM This script builds the project and deploys to HuggingFace Spaces
|
| 4 |
+
|
| 5 |
+
echo.
|
| 6 |
+
echo ==============================================
|
| 7 |
+
echo HuggingFace Spaces Deployment
|
| 8 |
+
echo ==============================================
|
| 9 |
+
echo.
|
| 10 |
+
|
| 11 |
+
echo [1/7] Building production bundle...
|
| 12 |
+
call npx vite build
|
| 13 |
+
|
| 14 |
+
if %ERRORLEVEL% NEQ 0 (
|
| 15 |
+
echo.
|
| 16 |
+
echo ERROR: Build failed!
|
| 17 |
+
exit /b 1
|
| 18 |
+
)
|
| 19 |
+
|
| 20 |
+
echo.
|
| 21 |
+
echo [2/7] Creating deployment branch...
|
| 22 |
+
git checkout -b hf-deploy 2>nul || git checkout hf-deploy
|
| 23 |
+
|
| 24 |
+
echo.
|
| 25 |
+
echo [3/7] Cleaning workspace...
|
| 26 |
+
for /d %%D in (*) do (
|
| 27 |
+
if not "%%D"=="dist" if not "%%D"==".git" rd /s /q "%%D" 2>nul
|
| 28 |
+
)
|
| 29 |
+
for %%F in (*) do (
|
| 30 |
+
if not "%%F"=="deploy-hf.bat" if not "%%F"=="deploy-hf.sh" del /q "%%F" 2>nul
|
| 31 |
+
)
|
| 32 |
+
|
| 33 |
+
echo.
|
| 34 |
+
echo [4/7] Moving dist contents to root...
|
| 35 |
+
xcopy /E /I /Y dist\* . >nul
|
| 36 |
+
rd /s /q dist 2>nul
|
| 37 |
+
|
| 38 |
+
echo.
|
| 39 |
+
echo [5/7] Copying README.md...
|
| 40 |
+
git checkout main -- README.md
|
| 41 |
+
|
| 42 |
+
echo.
|
| 43 |
+
echo [6/7] Committing changes...
|
| 44 |
+
git add -A
|
| 45 |
+
git commit -m "Deploy to HuggingFace Spaces - %date% %time%"
|
| 46 |
+
|
| 47 |
+
echo.
|
| 48 |
+
echo [7/7] Pushing to HuggingFace Spaces...
|
| 49 |
+
git push huggingface hf-deploy:main --force
|
| 50 |
+
|
| 51 |
+
if %ERRORLEVEL% NEQ 0 (
|
| 52 |
+
echo.
|
| 53 |
+
echo ERROR: Push failed! You may need to authenticate with HuggingFace.
|
| 54 |
+
echo.
|
| 55 |
+
echo Please authenticate by visiting:
|
| 56 |
+
echo https://huggingface.co/settings/tokens
|
| 57 |
+
echo.
|
| 58 |
+
echo Then run: git config credential.helper store
|
| 59 |
+
git checkout main
|
| 60 |
+
exit /b 1
|
| 61 |
+
)
|
| 62 |
+
|
| 63 |
+
echo.
|
| 64 |
+
echo [DONE] Returning to main branch...
|
| 65 |
+
git checkout main
|
| 66 |
+
|
| 67 |
+
echo.
|
| 68 |
+
echo ==============================================
|
| 69 |
+
echo Deployment Complete!
|
| 70 |
+
echo ==============================================
|
| 71 |
+
echo.
|
| 72 |
+
echo Your Space is live at:
|
| 73 |
+
echo https://huggingface.co/spaces/Chunte/Thumbnail_miniCrafter
|
| 74 |
+
echo.
|
| 75 |
+
|
| 76 |
+
pause
|
deploy-hf.sh
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
|
| 3 |
+
# HuggingFace Spaces Deployment Script
|
| 4 |
+
# This script builds the project and deploys to HuggingFace Spaces
|
| 5 |
+
|
| 6 |
+
echo "π Starting HuggingFace Spaces deployment..."
|
| 7 |
+
|
| 8 |
+
# Step 1: Build the project
|
| 9 |
+
echo "π¦ Building production bundle..."
|
| 10 |
+
npx vite build
|
| 11 |
+
|
| 12 |
+
if [ $? -ne 0 ]; then
|
| 13 |
+
echo "β Build failed!"
|
| 14 |
+
exit 1
|
| 15 |
+
fi
|
| 16 |
+
|
| 17 |
+
echo "β
Build successful!"
|
| 18 |
+
|
| 19 |
+
# Step 2: Create a temporary deployment branch
|
| 20 |
+
echo "π Creating deployment branch..."
|
| 21 |
+
git checkout -b hf-deploy 2>/dev/null || git checkout hf-deploy
|
| 22 |
+
|
| 23 |
+
# Step 3: Remove everything except dist/ and .git/
|
| 24 |
+
echo "π§Ή Cleaning up for deployment..."
|
| 25 |
+
find . -maxdepth 1 ! -name 'dist' ! -name '.git' ! -name '.' ! -name '..' -exec rm -rf {} +
|
| 26 |
+
|
| 27 |
+
# Step 4: Move dist/ contents to root
|
| 28 |
+
echo "π Moving dist/ contents to root..."
|
| 29 |
+
mv dist/* . 2>/dev/null || true
|
| 30 |
+
mv dist/.* . 2>/dev/null || true
|
| 31 |
+
rmdir dist 2>/dev/null || true
|
| 32 |
+
|
| 33 |
+
# Step 5: Copy README.md for HF Spaces
|
| 34 |
+
echo "π Copying README.md..."
|
| 35 |
+
git checkout main -- README.md
|
| 36 |
+
|
| 37 |
+
# Step 6: Commit changes
|
| 38 |
+
echo "πΎ Committing changes..."
|
| 39 |
+
git add -A
|
| 40 |
+
git commit -m "Deploy to HuggingFace Spaces - $(date +'%Y-%m-%d %H:%M:%S')"
|
| 41 |
+
|
| 42 |
+
# Step 7: Push to HuggingFace
|
| 43 |
+
echo "β¬οΈ Pushing to HuggingFace Spaces..."
|
| 44 |
+
git push huggingface hf-deploy:main --force
|
| 45 |
+
|
| 46 |
+
if [ $? -ne 0 ]; then
|
| 47 |
+
echo "β Push failed! You may need to authenticate with HuggingFace."
|
| 48 |
+
echo "Run: git config credential.helper store"
|
| 49 |
+
echo "Then try again."
|
| 50 |
+
git checkout main
|
| 51 |
+
exit 1
|
| 52 |
+
fi
|
| 53 |
+
|
| 54 |
+
# Step 8: Return to main branch
|
| 55 |
+
echo "π Returning to main branch..."
|
| 56 |
+
git checkout main
|
| 57 |
+
|
| 58 |
+
echo "β
Deployment complete!"
|
| 59 |
+
echo "π Your Space: https://huggingface.co/spaces/Chunte/Thumbnail_miniCrafter"
|
package.json
CHANGED
|
@@ -6,7 +6,8 @@
|
|
| 6 |
"scripts": {
|
| 7 |
"dev": "vite",
|
| 8 |
"build": "tsc && vite build",
|
| 9 |
-
"preview": "vite preview"
|
|
|
|
| 10 |
},
|
| 11 |
"dependencies": {
|
| 12 |
"konva": "^9.3.6",
|
|
|
|
| 6 |
"scripts": {
|
| 7 |
"dev": "vite",
|
| 8 |
"build": "tsc && vite build",
|
| 9 |
+
"preview": "vite preview",
|
| 10 |
+
"deploy:hf": "bash deploy-hf.sh"
|
| 11 |
},
|
| 12 |
"dependencies": {
|
| 13 |
"konva": "^9.3.6",
|