name: test-and-deploy on: push: branches: - main workflow_dispatch: jobs: build-and-test: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v5 - name: Install uv uses: astral-sh/setup-uv@v6 with: version: "0.9.2" - name: Set up Python run: uv python install - name: Install dependencies run: uv sync --locked --all-extras --dev - name: Run linting run: make lint - name: Run tests run: make test deploy-to-hf: needs: build-and-test runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v5 with: fetch-depth: 0 lfs: true - name: Deploy to Hugging Face Space env: HF_TOKEN: ${{ secrets.HF_TOKEN }} HF_USERNAME: ${{ secrets.HF_USERNAME }} HF_SPACE: ${{ secrets.HF_SPACE }} run: | git push --force https://$HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/$HF_USERNAME/$HF_SPACE main