Skip to content

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.