name: Deploy to Hugging Face Spaces on: push: branches: - dev jobs: deploy-to-huggingface: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 0 # Fetch all history for proper git operations - name: Configure Git run: | git config --global user.email "github-actions[bot]@users.noreply.github.com" git config --global user.name "GitHub Actions Bot" - name: Deploy to Hugging Face env: HF_USERNAME: ${{ secrets.HF_USERNAME }} HF_TOKEN: ${{ secrets.HF_TOKEN }} HF_SPACE_NAME: ${{ secrets.HF_SPACE_NAME }} run: | # Add Hugging Face remote git remote add hf https://$HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/$HF_USERNAME/$HF_SPACE_NAME || true # Push the current dev branch to HF main branch git push hf HEAD:main --force echo "✅ Successfully deployed to Hugging Face Space: $HF_SPACE_NAME" - name: Restart Hugging Face Space (Factory Rebuild) env: HF_TOKEN: ${{ secrets.HF_TOKEN }} HF_USERNAME: ${{ secrets.HF_USERNAME }} HF_SPACE_NAME: ${{ secrets.HF_SPACE_NAME }} run: | echo "🔄 Triggering factory rebuild of Hugging Face Space..." curl -X POST \ "https://huggingface.co/api/spaces/$HF_USERNAME/$HF_SPACE_NAME/restart" \ -H "Authorization: Bearer $HF_TOKEN" \ -H "Content-Type: application/json" \ -d '{"factory_reboot": true}' echo "✅ Factory rebuild triggered successfully!"