Skip to content

Latest commit

 

History

History
69 lines (49 loc) · 1.91 KB

File metadata and controls

69 lines (49 loc) · 1.91 KB

Releasing

Versioning

  • Package version lives in pyproject.toml ([project].version) and src/__init__.py.
  • Follow Semantic Versioning and update CHANGELOG.md under [Unreleased].

Local release checks

make release-check

Runs lint, type-check, security scans, tests, and python -m build.

Pin dependencies (optional)

pip install pip-tools
python3 scripts/lock_requirements.py

Commit updated requirements.lock / requirements-dev.lock when refreshing pins.

Publish to PyPI (maintainers)

Trusted publishing (recommended)

  1. Create the PyPI project edge-deployment-manager (if it does not exist).
  2. On PyPI → PublishingAdd a new pending publisher:
    • PyPI project name: edge-deployment-manager
    • Owner: akintunero
    • Repository: edge-deployment-manager
    • Workflow: release.yml
    • Environment name: pypi
  3. In GitHub → Settings → Environments → create environment pypi (no extra secrets required for OIDC).
  4. Tag a release (workflow validates tests, builds, publishes, creates GitHub release):
git tag v2.0.0
git push origin v2.0.0

Manual checklist before tagging

  • CHANGELOG.md updated
  • pyproject.toml and src/__init__.py versions match tag
  • make release-check passes locally
  • requirements.lock refreshed if dependencies changed (make lock-deps)

Legacy steps

  1. Configure a GitHub environment named pypi with trusted publishing for this repository.
  2. Tag a release:
git tag v2.0.0
git push origin v2.0.0
  1. The Release workflow runs tests, builds sdist/wheel, publishes to PyPI, and creates a GitHub release.

Install from PyPI

pip install edge-deployment-manager
edge-deployment-manager --help
edge-control-plane --help