Skip to main content

CI/CD and Release

GitHub Actions workflows:

  • .github/workflows/ci.yml
  • .github/workflows/release.yml

CI Workflow

Triggered on pushes and pull requests.

Stages:

  1. Setup Python 3.11
  2. Install dependencies
  3. Lint (ruff, black --check, isort --check-only)
  4. Migration check (python -m keynetra.cli migrate --confirm-destructive)
  5. Tests + coverage (--cov-fail-under=80)

CI currently runs on Python 3.11.

Release Workflow

Triggered on tags matching v*.

Stages:

  1. Build package (python -m build)
  2. Run tests with coverage
  3. Upload artifacts (.whl, .tar.gz)
  4. Publish GitHub release
  1. ensure version alignment (pyproject.toml, keynetra/version.py, OpenAPI info)
  2. run lint, migrations, and full tests locally
  3. confirm changelog and release notes
  4. push release tag (vX.Y.Z)

Version and Contract Alignment

Version 0.1.0 is currently represented in:

  • pyproject.toml
  • keynetra/version.py
  • contracts/openapi/keynetra-v0.1.0.yaml

Release Hygiene Checklist

  • tests pass locally and in CI
  • OpenAPI contract synced with implemented routes
  • migrations apply cleanly
  • docs and examples updated
  • changelog updated