fix(tests): update docs #14
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| env: | |
| PIP_CACHE_DIR: ~/.cache/pip | |
| PIP_DISABLE_PIP_VERSION_CHECK: "1" | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.11", "3.12", "3.13"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| # ── Cache pip downloads ──────────────────────────────────── | |
| - name: Cache pip packages | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cache/pip | |
| .venv | |
| key: pip-${{ runner.os }}-py${{ matrix.python-version }}-${{ hashFiles('pyproject.toml') }} | |
| restore-keys: | | |
| pip-${{ runner.os }}-py${{ matrix.python-version }}- | |
| # ── Install deps (uses cache if available) ───────────────── | |
| - name: Install dependencies | |
| run: | | |
| python -m venv .venv | |
| source .venv/bin/activate | |
| pip install -e ".[dev]" | |
| # ── Tests (offline — all deps already cached) ────────────── | |
| - name: Run tests | |
| run: | | |
| source .venv/bin/activate | |
| python -m pytest tests/ -q --tb=short | |
| # ── Benchmark (plain output, fail on threshold) ──────────── | |
| - name: Performance benchmark | |
| run: | | |
| source .venv/bin/activate | |
| python -m regix.benchmark --plain --threshold 30.0 | |
| benchmark: | |
| runs-on: ubuntu-latest | |
| needs: test | |
| if: github.ref == 'refs/heads/main' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| - name: Cache pip packages | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cache/pip | |
| .venv | |
| key: pip-${{ runner.os }}-py3.13-${{ hashFiles('pyproject.toml') }} | |
| restore-keys: | | |
| pip-${{ runner.os }}-py3.13- | |
| - name: Install dependencies | |
| run: | | |
| python -m venv .venv | |
| source .venv/bin/activate | |
| pip install -e ".[dev]" | |
| - name: Full benchmark (JSON artifact) | |
| run: | | |
| source .venv/bin/activate | |
| python -m regix.benchmark --json > benchmark.json | |
| - name: Upload benchmark results | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: benchmark-results | |
| path: benchmark.json | |
| retention-days: 30 |