Spaces:
Running
Running
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| # Cancel previous runs on the same branch/PR | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| backend: | |
| name: Backend tests | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: document-parser | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| cache: pip | |
| cache-dependency-path: document-parser/requirements.txt | |
| - name: Install system dependencies | |
| run: sudo apt-get update && sudo apt-get install -y --no-install-recommends poppler-utils | |
| - name: Install Python dependencies | |
| run: | | |
| pip install --upgrade pip | |
| pip install -r requirements.txt | |
| pip install pytest pytest-asyncio httpx ruff | |
| - name: Lint | |
| run: ruff check . | |
| - name: Run tests | |
| run: pytest tests/ -v | |
| frontend: | |
| name: Frontend tests & build | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: frontend | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| cache-dependency-path: frontend/package-lock.json | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Lint | |
| run: npx eslint src/ | |
| - name: Type check | |
| run: npm run type-check | |
| - name: Run tests | |
| run: npm run test:run | |
| - name: Build | |
| run: npm run build | |