Release procedure¶
Prior to release create
new release issue. Use it as a
scratchpad for release notes. Title should be Release x.y.z. Description should start
with short summary explaining agenda for the release. Then list all changes that will be
included in the release. Each change should be a separate bullet point starting with one
of "magic" words: Added, Changed, Deprecated, Removed, Fixed, Updated, Refactored.
On branch main:
- Update
CHANGELOG.mdwith new release notes and commit
-
Update version number in:
-
pygerber/__init__.py pyproject.toml
then commit:
- Push changes and wait for CI to finish.
-
If CI failed, fix issues, commit and push changes. Repeat until CI passes. If any of the changes introduced may have impact of users, update
CHANGELOG.md. -
Create a new tag:
And push it to the repository:
-
Wait for CI to finish. It should automatically publish PyPI release files and documentation update.
-
Close release issue.
-
SKIP FOR PATCH RELEASES:
Create maintenance/x.y.x, second x should remain in branch name, eg. for release
2.3.0 branch name should be maintenance/2.3.x