Skip to content

docs: rlm-kit is a git source, not an editable path dep #3

docs: rlm-kit is a git source, not an editable path dep

docs: rlm-kit is a git source, not an editable path dep #3

Workflow file for this run

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