Release Process¶
This document outlines the steps to release a new version of Azure Functions Doctor to PyPI and update the changelog using the existing Makefile and Hatch-based workflows.
Step 1: Bump Version and Generate Changelog¶
Use Makefile targets to bump the version and update the changelog:
make release-patch # Patch release (e.g., v0.1.0 → v0.1.1)
make release-minor # Minor release (e.g., v0.1.1 → v0.2.0)
make release-major # Major release (e.g., v0.2.0 → v1.0.0)
Each command will:
- Update the version in src/azure_functions_doctor/__init__.py
- Generate or update CHANGELOG.md via git-cliff
- Commit the version bump and changelog
- Create a Git tag (e.g., v0.2.0) and push to main
Make sure your
mainbranch is up-to-date before running these commands.
Step 2: Build and Test the Package¶
To test the local build:
Step 3: Publish to PyPI¶
- Uses
hatch publishunder the hood - Relies on
.pypircfor authentication (~/.pypircmust contain PyPI token) - No need for
twine
Step 4: (Optional) Publish to TestPyPI¶
To install from TestPyPI:
Summary of Makefile Commands¶
| Task | Command |
|---|---|
| Version bump + changelog | make release-patch |
| Build distributions | make build |
| Publish to PyPI | make publish-pypi |
| Publish to TestPyPI | make publish-test |