CI/CD Integration¶
GitHub Actions¶
Basic health check¶
Run behave-gen check on every push to verify project health:
name: BDD Health
on: [push, pull_request]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: "3.13"
- run: pip install behave-gen[doctor]
- run: behave-gen check
Full pipeline¶
Scaffold, check, lint, format, and run tests:
name: BDD Pipeline
on: [push, pull_request]
jobs:
bdd:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: "3.13"
- run: pip install behave-gen[all]
- run: behave-gen check
- run: behave-gen lint
- run: behave-gen format --check
- run: behave --dry-run
Generate from OpenAPI in CI¶
Regenerate features from an OpenAPI spec on every push:
- run: behave-gen from-openapi spec.yaml --out-dir gen --step-lib http --tag api
- run: behave-gen check
- run: behave
Pre-commit hook¶
Use behave-gen as a pre-commit hook:
repos:
- repo: https://github.com/MathiasPaulenko/behave-gen
rev: v1.1.3
hooks:
- id: behave-gen-check
args: ["check"]
Exit codes¶
| Code | Meaning |
|---|---|
0 |
Success / clean |
1 |
Issues found or error |
2 |
Scan error (invalid input) |