docs: rlm-kit is a git source, not an editable path dep #3
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: | |
| # Least privilege: this workflow only checks out code and runs tests — it never | |
| # writes to the repo, comments on PRs, or opens issues. Pin the token to read so a | |
| # compromised dependency/action in the test run can't push, tag, or open a PR. | |
| permissions: | |
| contents: read | |
| 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 | |
| # Third-party action pinned to a commit SHA for supply-chain integrity | |
| # (a moving major tag could be repointed at malicious code that runs with | |
| # this workflow's token). GitHub-owned actions (checkout) stay on a major | |
| # tag. Bump the SHA and the trailing version comment together. | |
| uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 | |
| 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 | |
| # The studio frontend's pure/factory cores (run-core, replay-core, trajectory) carry assert-based | |
| # node tests; the ubuntu runner ships node, so gate them here too. | |
| - name: Frontend core unit tests (node) | |
| run: | | |
| for f in studio/tests/*.test.js; do echo "▸ $f"; node "$f"; done |