CI/CD Integration
Quell's ci command is designed for automated pipelines. This guide covers the recommended patterns for different CI systems.
Core concept
The recommended PR workflow is:
- Run
quell cion your source directory - Fail the build if coverage is below your threshold
- Optionally run
quell check --fixto auto-generate tests for gaps
No mutation testing tool required. Quell reads your specs directly.
GitHub Actions
See the dedicated GitHub Actions guide for a complete workflow YAML.
GitLab CI
# .gitlab-ci.yml
quell:
stage: test
image: python:3.11
script:
- pip install quelltest
- pip install -e ".[dev]"
- quell ci src/ --threshold 0.75
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
CircleCI
# .circleci/config.yml
jobs:
quell:
docker:
- image: cimg/python:3.11
steps:
- checkout
- run:
name: Install deps
command: pip install quelltest && pip install -e ".[dev]"
- run:
name: Quell CI
command: quell ci src/ --threshold 0.75
Recommended thresholds
| Project stage | Recommended threshold |
|---|---|
| New project (no history) | 0.0 (no gate yet) |
| Established project | 0.7 (70%) |
| Critical path / payment code | 0.85 (85%) |
| Strict / security-sensitive | 0.9 (90%) |
Start low and ratchet up as your team builds the habit.
Performance
quell ci uses an AST-based coverage checker — no test execution required for the scan phase. Even large codebases complete in seconds.
Exit codes
Your CI pipeline should treat Quell's exit code as the gate:
quell ci src/ --threshold 0.8
echo "Exit code: $?"
# 0 = passed, 1 = below threshold