name: CI on: push: branches: [main, develop] pull_request: branches: [main] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.11" cache: "pip" - name: Install dependencies run: | pip install --upgrade pip pip install -r requirements.txt pip install pytest pytest-asyncio httpx ruff - name: Lint (ruff) run: ruff check . --select=E,F,W --ignore=E501 - name: Run tests run: pytest tests/ -v --tb=short build-docker: runs-on: ubuntu-latest needs: test if: github.ref == 'refs/heads/main' steps: - uses: actions/checkout@v4 - name: Build Docker image run: docker build -f docker/Dockerfile -t chestai:${{ github.sha }} . deploy-spaces: runs-on: ubuntu-latest needs: build-docker if: github.ref == 'refs/heads/main' steps: - uses: actions/checkout@v4 - name: Push to HuggingFace Spaces env: HF_TOKEN: ${{ secrets.HF_TOKEN }} run: | pip install huggingface_hub python scripts/deploy_spaces.py