CI/CD and Release
GitHub Actions workflows:
.github/workflows/ci.yml.github/workflows/release.yml
CI Workflow
Triggered on pushes and pull requests.
Stages:
- Setup Python 3.11
- Install dependencies
- Lint (
ruff,black --check,isort --check-only) - Migration check (
python -m keynetra.cli migrate --confirm-destructive) - Tests + coverage (
--cov-fail-under=80)
CI currently runs on Python 3.11.
Release Workflow
Triggered on tags matching v*.
Stages:
- Build package (
python -m build) - Run tests with coverage
- Upload artifacts (
.whl,.tar.gz) - Publish GitHub release
Recommended Release Steps
- ensure version alignment (
pyproject.toml,keynetra/version.py, OpenAPI info) - run lint, migrations, and full tests locally
- confirm changelog and release notes
- push release tag (
vX.Y.Z)
Version and Contract Alignment
Version 0.1.0 is currently represented in:
pyproject.tomlkeynetra/version.pycontracts/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