Skip to main content
Because evals are plain pytest files, kensa eval runs anywhere your Python tests already run. kensa init scaffolds a GitHub Actions workflow; here’s a minimal version.

GitHub Actions

.github/workflows/kensa.yml
A failed eval fails the pytest session, which fails the job - regressions block the PR.

What needs credentials

Deterministic assertions run entirely locally and cost nothing, so you can gate on tool usage, output shape, cost, and latency without any secrets. If your evals call judge(...), add the provider secret and (optionally) pin the model:
Judge step with secrets
To keep judge-bearing evals green without a live model, force a deterministic verdict instead:

Reports and PR comments

Write a Markdown summary and post it as a sticky PR comment:
PR comment step
Use --json-report eval.json when you want a machine-readable artifact to upload or feed a dashboard.

Running on a schedule

Pull-request runs catch regressions in changed code. A nightly run catches drift from model and dependency updates that no diff touched:
Nightly drift check
Raise trials on the evals you run nightly to surface flakiness that a single run would miss. See Pytest plugin for trial verdicts.
Last modified on August 14, 2026