Spaces:
Sleeping
Sleeping
| name: Tests and Retrieval Eval | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test-and-evaluate: | |
| name: Pytest and Recall Gate | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| env: | |
| TOKENIZERS_PARALLELISM: "false" | |
| PYTHONUNBUFFERED: "1" | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v7 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.11" | |
| cache: pip | |
| cache-dependency-path: requirements-lock.txt | |
| - name: Install locked dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements-lock.txt | |
| - name: Run unit tests | |
| run: | | |
| pytest tests/ -v | |
| - name: Build a fresh vector index | |
| run: | | |
| rm -rf data/chroma | |
| python src/index.py | |
| - name: Run retrieval evaluation gate | |
| run: | | |
| python src/eval.py \ | |
| --mode dense \ | |
| --k 5 \ | |
| --min-recall 0.90 | |