Skip to main content

CI Integration

Use CI when a Wendell suite should guard agent, prompt, policy, or tool changes before they reach production.

GitHub Actions

Add WENDELL_INKPASS_API_KEY to your repository or organization secrets, then create .github/workflows/wendell.yml:

name: Wendell Agent Tests

on:
pull_request:
push:
branches: [main]

jobs:
wendell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- uses: actions/setup-python@v6
with:
python-version: "3.13"

- name: Install Wendell
run: |
python -m pip install --upgrade pip
python -m pip install wendell

- name: Run Wendell
env:
WENDELL_INKPASS_API_KEY: ${{ secrets.WENDELL_INKPASS_API_KEY }}
WENDELL_APP_AGENT_COMMAND: python scripts/run_my_agent.py
run: wendell run --suite refund-agent-regression --config wendell.toml

Production is the default API target. Do not set api_url unless you are targeting staging, preview, or a local API.

Blocking Gates

Use blocking mode when Wendell should fail CI on regressions:

project = "refund-agent"
mode = "blocking"
agent = "refund_agent"
agent_command = "python scripts/wendell_agent_adapter.py"
upload_traces = true

[gates]
suite_min_score = 0.90
scenario_min_score = 0.85
critical_failures_allowed = 0

Use advisory mode while tuning a new suite. Advisory runs still upload reports and print failures, but exit successfully.

Adapter Command

WENDELL_APP_AGENT_COMMAND should run the same adapter your wendell.toml points at, or the adapter should delegate to that environment variable.

The adapter receives public scenario input on stdin and must print JSON with message, tool_calls, and optional metrics. The generated scripts/wendell_agent_adapter.py template enforces this JSON contract when it delegates to WENDELL_APP_AGENT_COMMAND.

CI Secrets

Keep these values in CI secret storage:

SecretPurpose
WENDELL_INKPASS_API_KEYWendell runner credential for hosted suites and trace uploads.
Agent provider keysOnly needed if your own agent adapter calls an LLM or hosted agent service.

Wendell itself does not require an OpenAI, OpenRouter, Anthropic, or other LLM provider key to install, compile, or run tests.