This project uses bump-my-version for automated version management and releases.
-
Ensure you have the development dependencies installed:
pip install -e .[dev]
-
Ensure your working directory is clean (all changes committed)
-
Ensure you're on the
mainbranch and up to date:git checkout main git pull origin main
Determine the type of release based on the changes:
- Patch (
0.16.4 → 0.16.5): Bug fixes, documentation updates - Minor (
0.16.4 → 0.17.0): New features, backward-compatible changes - Major (
0.16.4 → 1.0.0): Breaking changes
Check what the version bump would do:
# See all possible version bumps
make show-bump
# Dry run the specific bump you want to make
make dry-bump-patch # For patch releases
make dry-bump-minor # For minor releases
make dry-bump-major # For major releasesRun the appropriate bump command:
make bump-patch # For patch releases
make bump-minor # For minor releases
make bump-major # For major releasesThis will automatically:
- Update the version in
pyproject.toml - Update the version in
README.md - Update the version in
himl/main.py(CLI help) - Create a Git commit with message
[RELEASE] - Release version X.Y.Z - Create a Git tag
X.Y.Z
Push the commit and tags to trigger the release:
git push --follow-tagsWait for GitHub Actions to complete:
- PyPI Release: A new version will be published at https://pypi.org/project/himl/#history
- Docker Image: Published at https://github.com/adobe/himl/pkgs/container/himl
- GitHub Release: Automatically created at https://github.com/adobe/himl/releases
- Check that the new version appears on PyPI
- Verify the Docker image is available
- Test install the new version:
pip install himl==X.Y.Z - Update the GitHub release notes if needed