Add project changes for a transparent release workflow using just
This allows abstracting all current tasks (e.g. running relevant checks and tests, as well as preparing and creating a release) using a justfile.
Conventional commits are introduced to automate the setting of the next project version and adding meaningful changelog entries for a release, based on the conventional commits.
Releases are prepared by calling just prepare-release
, which sets the new version and adds a changelog entry based on the conventional commits since last tag and pushes those changes to a dedicated release/<version>
branch.
After merging a release/<version>
branch, the releases are created by calling just release
on the default branch, which creates a signed tag for the project (based on the new project version in pyproject.toml), pushes the tag, creates a GitLab release and attaches a signed sdist tarball to it.