Spaces:
Sleeping
Sleeping
| # Git deployment script for Hugging Face Spaces | |
| # This script adds, commits, and pushes all necessary files | |
| Write-Host "=== Preparing files for Hugging Face Spaces deployment ===" -ForegroundColor Cyan | |
| # Change to project directory | |
| Set-Location $PSScriptRoot | |
| # Step 1: Remove git lock file if exists (in case of previous failed operations) | |
| if (Test-Path .git\index.lock) { | |
| Write-Host "Removing git lock file..." -ForegroundColor Yellow | |
| Remove-Item .git\index.lock -Force -ErrorAction SilentlyContinue | |
| } | |
| # Step 2: Add core application files (required for API to work) | |
| Write-Host "`nAdding core application files..." -ForegroundColor Green | |
| git add app.py | |
| git add preprocessing.py | |
| git add model_utils.py | |
| git add requirements.txt | |
| git add Dockerfile | |
| # Step 3: Add configuration files | |
| Write-Host "Adding configuration files..." -ForegroundColor Green | |
| git add .dockerignore | |
| git add .gitignore | |
| # Step 4: Add documentation files | |
| Write-Host "Adding documentation files..." -ForegroundColor Green | |
| git add README_HF_SPACE.md | |
| git add DEPLOYMENT.md | |
| git add DEPLOYMENT_SUMMARY.md | |
| git add README.md | |
| # Step 5: Add models directory (if exists and not in .gitignore) | |
| if (Test-Path models) { | |
| Write-Host "Checking models directory..." -ForegroundColor Yellow | |
| # Check if models/ is in .gitignore | |
| $gitignoreContent = Get-Content .gitignore -ErrorAction SilentlyContinue | |
| if ($gitignoreContent -notmatch "^models/") { | |
| Write-Host "Adding models directory..." -ForegroundColor Green | |
| git add models/ | |
| } else { | |
| Write-Host "WARNING: models/ is in .gitignore. You may need to force add it:" -ForegroundColor Yellow | |
| Write-Host " git add -f models/" -ForegroundColor Yellow | |
| } | |
| } | |
| # Step 6: Show status | |
| Write-Host "`n=== Files staged for commit ===" -ForegroundColor Cyan | |
| git status --short | |
| # Step 7: Commit | |
| Write-Host "`n=== Committing changes ===" -ForegroundColor Cyan | |
| $commitMessage = "Deploy to Hugging Face Spaces: Add application files and dependencies | |
| - Add FastAPI application (app.py) | |
| - Add preprocessing module (preprocessing.py) | |
| - Add model utilities (model_utils.py) | |
| - Add Dockerfile for HF Spaces deployment | |
| - Add requirements.txt | |
| - Add deployment documentation | |
| - Add configuration files" | |
| git commit -m $commitMessage | |
| if ($LASTEXITCODE -eq 0) { | |
| Write-Host "`n=== Commit successful! ===" -ForegroundColor Green | |
| # Step 8: Push | |
| Write-Host "`n=== Pushing to remote ===" -ForegroundColor Cyan | |
| Write-Host "Note: You may need to authenticate for push" -ForegroundColor Yellow | |
| git push | |
| if ($LASTEXITCODE -eq 0) { | |
| Write-Host "`n=== Deployment files pushed successfully! ===" -ForegroundColor Green | |
| Write-Host "Next steps:" -ForegroundColor Cyan | |
| Write-Host "1. Go to your Hugging Face Space" -ForegroundColor White | |
| Write-Host "2. Wait for automatic rebuild" -ForegroundColor White | |
| Write-Host "3. Check logs if build fails" -ForegroundColor White | |
| } else { | |
| Write-Host "`n=== Push failed ===" -ForegroundColor Red | |
| Write-Host "You may need to:" -ForegroundColor Yellow | |
| Write-Host "1. Set up authentication (git credential or token)" -ForegroundColor White | |
| Write-Host "2. Check remote URL: git remote -v" -ForegroundColor White | |
| Write-Host "3. Try: git push origin main" -ForegroundColor White | |
| } | |
| } else { | |
| Write-Host "`n=== Commit failed ===" -ForegroundColor Red | |
| Write-Host "Check git status and resolve any conflicts" -ForegroundColor Yellow | |
| } | |
| Write-Host "`n=== Script completed ===" -ForegroundColor Cyan | |