name: Deploy to HF Spaces (on main) on: push: branches: [main] workflow_dispatch: {} concurrency: group: deploy-hf-space cancel-in-progress: true jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: "3.11" - name: Install deps run: | python -m pip install -U pip pip install -U "huggingface_hub[cli]" - name: Validate app file exists run: | test -f src/ui/compi_phase3_final_dashboard.py || (echo "App file missing" && exit 1) - name: Push folder to Space env: HF_TOKEN: ${{ secrets.HF_TOKEN }} HF_SPACE_ID: ${{ secrets.HF_SPACE_ID }} run: | python - << 'PY' from huggingface_hub import HfApi import os api = HfApi() repo_id = os.environ["HF_SPACE_ID"] # e.g. "username/compi-final-dashboard" api.upload_folder( token=os.environ["HF_TOKEN"], repo_id=repo_id, repo_type="space", folder_path=".", path_in_repo="", commit_message="Deploy from GitHub main" ) print("Uploaded to Space:", repo_id) PY