Spaces:
Build error
Build error
| name: CI & Deploy | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| build-and-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v3 | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.10' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements.txt | |
| # - name: Run tests | |
| # run: | | |
| # if [ -f tests/test.py ]; then python -m unittest discover -s tests; fi | |
| deploy-to-hf: | |
| runs-on: ubuntu-latest | |
| # needs: build-and-test | |
| environment: prod | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 0 # full history if you need versioning | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.10' | |
| - name: Install Hugging Face Hub client | |
| run: pip install huggingface_hub | |
| - name: Configure Git credential helper | |
| run: | | |
| # Use the "store" helper so huggingface-cli can write credentials here | |
| git config --global credential.helper store | |
| - name: Push to Hugging Face Space | |
| env: | |
| HF_TOKEN: ${{ secrets.HF_TOKEN }} | |
| HF_USERNAME: ${{ secrets.HF_USERNAME }} | |
| HF_SPACE_NAME: ${{ secrets.HF_SPACE_NAME }} | |
| run: | | |
| echo "🚀 Pushing code to HF Space..." | |
| # Configure Git identity | |
| git config --global user.email "github-actions[bot]@users.noreply.github.com" | |
| git config --global user.name "github-actions[bot]" | |
| # Login and add the token to Git credential store | |
| huggingface-cli login --token "$HF_TOKEN" --add-to-git-credential | |
| # Add HF Space repo as remote and push | |
| git remote add hf https://huggingface.co/spaces/${HF_USERNAME}/${HF_SPACE_NAME}.git | |
| git fetch hf main | |
| git push hf main --force | |
| # Optional: Restart Space via API | |
| python -c "from huggingface_hub import HfApi; api = HfApi(token='$HF_TOKEN'); api.restart_space(repo_id='${HF_USERNAME}/${HF_SPACE_NAME}')" | |