Skip to content

๐Ÿ› ๏ธ 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