Spaces:
Running
Running
| name: Deploy to Hugging Face Spaces | |
| on: | |
| push: | |
| branches: [master] | |
| workflow_dispatch: | |
| jobs: | |
| sync: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| lfs: true | |
| - name: Install huggingface_hub | |
| run: pip install huggingface_hub | |
| - name: Upload to Hugging Face Spaces | |
| env: | |
| HF_TOKEN: ${{ secrets.HF_TOKEN }} | |
| HF_SPACE_ID: ${{ vars.HF_SPACE_ID }} | |
| run: | | |
| python - <<'EOF' | |
| import os | |
| from huggingface_hub import HfApi | |
| api = HfApi(token=os.environ["HF_TOKEN"]) | |
| space_id = os.environ["HF_SPACE_ID"] | |
| ignore = [ | |
| ".git", ".gitattributes", ".venv", "__pycache__", | |
| "*.pyc", ".env", ".cursor", ".DS_Store", | |
| "data/embeddings.azure*.npy", "data/embeddings.gemini*.npy", | |
| ] | |
| # Upload everything except README first (avoids HF YAML validation API call) | |
| api.upload_folder( | |
| folder_path=".", | |
| repo_id=space_id, | |
| repo_type="space", | |
| ignore_patterns=ignore + ["README.md"], | |
| ) | |
| # Upload README as plain file (no YAML validation triggered) | |
| api.upload_file( | |
| path_or_fileobj="README.md", | |
| path_in_repo="README.md", | |
| repo_id=space_id, | |
| repo_type="space", | |
| ) | |
| print(f"Deployed to {space_id}") | |
| EOF | |