| name: Deploy to Hugging Face Spaces | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - master | |
| paths: | |
| - 'app/**' | |
| - 'templates/**' | |
| - 'static/**' | |
| - 'app.py' | |
| - 'Dockerfile' | |
| - 'requirements.txt' | |
| - 'README_HF.md' | |
| workflow_dispatch: # μλ μ€ν κ°λ₯ | |
| jobs: | |
| deploy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Git | |
| run: | | |
| git config --global user.name "GitHub Actions" | |
| git config --global user.email "actions@github.com" | |
| - name: Checkout Hugging Face Space | |
| uses: actions/checkout@v3 | |
| with: | |
| repository: ${{ secrets.HF_USERNAME }}/${{ secrets.HF_SPACE_NAME }} | |
| path: hf-space | |
| token: ${{ secrets.HF_TOKEN }} | |
| - name: Copy files to Hugging Face Space | |
| run: | | |
| # νμ νμΌ λ³΅μ¬ | |
| cp app.py hf-space/ | |
| cp Dockerfile hf-space/ | |
| cp requirements.txt hf-space/ | |
| cp README_HF.md hf-space/README.md | |
| # λλ ν 리 λ³΅μ¬ | |
| cp -r app hf-space/ | |
| cp -r templates hf-space/ | |
| cp -r static hf-space/ | |
| # .gitkeep νμΌμ΄ νμν λλ ν 리 νμΈ | |
| mkdir -p hf-space/instance | |
| mkdir -p hf-space/uploads | |
| mkdir -p hf-space/vector_db | |
| mkdir -p hf-space/knowledge_graphs | |
| mkdir -p hf-space/logs | |
| - name: Commit and push to Hugging Face | |
| working-directory: hf-space | |
| run: | | |
| git add . | |
| git diff --staged --quiet || git commit -m "Auto-deploy from GitHub Actions - $(date +'%Y-%m-%d %H:%M:%S')" | |
| git push | |
| - name: Deployment Status | |
| run: | | |
| echo "β Deployment completed successfully!" | |
| echo "Space URL: https://huggingface.co/spaces/${{ secrets.HF_USERNAME }}/${{ secrets.HF_SPACE_NAME }}" | |