-
-
Notifications
You must be signed in to change notification settings - Fork 148
Description
Issuing a new release currently requires manual maintainer intervention, as documented in RELEASE.md.
The packages (PyPI, Docker images) and the GitHub release entry (including changelog) are already generated automatically—only the version bump and release trigger remain manual.
Proposal
Automate the release process based on commit history and heuristics, removing the need for manual intervention.
Candidate Tools
semantic-release uses the commit messages to determine the consumer impact of changes in the codebase. Following formalized conventions for commit messages, semantic-release automatically determines the next semantic version number, generates a changelog and publishes the release.
Tools such as commitizen or commitlint can be used to help contributors and enforce valid commit messages.
Python Semantic Release (PSR) provides an automated release mechanism determined by SemVer and Commit Message Conventions for your Git projects.
Rather than continuously releasing what's landed to your default branch, release-please maintains Release PRs.
commitizen
Python-native tool for enforcing commit conventions and automating version bumps.
Next Steps
Discuss and prototype an implementation for ScanCode.io. If successful, propagate to other repositories.
Commit message format
https://github.com/semantic-release/semantic-release?tab=readme-ov-file#commit-message-format
https://github.com/angular/angular/blob/main/contributing-docs/commit-message-guidelines.md