ci: add GitHub Actions test workflow + cve-reverser --version
#1
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 | |
| # Pipeline + wiring tests only: no live model, no network calls, no Deno sandbox, no nuclei binary. | |
| # dspy-bearing tests use a DummyLM or skip when dspy is absent (see CLAUDE.md "Verify"). | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.11", "3.12"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| enable-cache: true | |
| # `uv sync` pulls rlm-kit from git (uv.lock pins the commit). --all-packages brings in the studio | |
| # workspace member, --all-extras its dev extra (pytest/httpx) so both suites resolve in one env. | |
| - name: Sync (core + studio workspace) | |
| run: uv sync --all-extras --all-packages --python ${{ matrix.python-version }} | |
| - name: Core tests (pipeline + wiring) | |
| run: uv run --python ${{ matrix.python-version }} python -m pytest | |
| - name: Studio console tests | |
| run: uv run --python ${{ matrix.python-version }} python -m pytest studio/tests |