Extending & CI/CD
Pipeline Stages¶
Framework Source¶
- Framework Core (Python package)
- Source lives in its own repository.
- Implements reusable BDD steps, orchestrators, services, executors, and models.
Build & Validate (CI/CD)¶
-
CI/CD (or any CI system)
-
Pipeline triggers on commit or pull request.
-
Creates an isolated virtual environment (
venv) for the build. -
Tests & Lint
- Run unit tests and static checks (e.g.
pytest,pytest-bdd,mypy,ruff). - Pipeline fails fast if tests or linting do not pass.
Package & Version Artifacts¶
-
Build & Tag (wheel/sdist)
-
On a green build, create a versioned Python artifact.
-
Apply a semantic version tag (
1.3.0,1.4.0, …). -
Publish to Artifactory / PyPI
- Upload the built artifact to an internal or public package repository.
- This becomes the single source of truth for that framework version.
Consumption by Test Repositories¶
- BDD Test Repositories (pin & run)
- Independent test repositories declare a dependency on
bdd-framework==<version>. - Tests run in CI or locally using the same packaged framework.
- Teams choose when to upgrade to newer versions.