๐ ๏ธ 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
main
branch is up-to-date before running these commands.
๐ฆ Step 2: Build and Test the Package
make build
To test the local build:
pip install dist/azure_functions_doctor-<version>-py3-none-any.whl
func-doctor --version
๐ Step 3: Publish to PyPI
make publish-pypi
- Uses
hatch publish
under the hood - Relies on
.pypirc
for authentication (~/.pypirc
must contain PyPI token) - No need for
twine
๐ Step 4: (Optional) Publish to TestPyPI
make publish-test
To install from TestPyPI:
pip install --index-url https://test.pypi.org/simple/ azure-functions-doctor
โ 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 |