Skip to content

feat: Add automated semantic versioning with conventional commits #239

Description

@dario-br

Summary

Add automated semantic versioning to the sysdiagnose project. When commits are pushed/merged to main, the system should automatically determine the appropriate SemVer bump based on conventional commit messages, create a Git tag, update pyproject.toml, and publish a GitHub Release with a changelog.

Goals

  • Automate version bumps following SemVer semantics (feat→minor, fix→patch, breaking→major)
  • Keep pyproject.toml version in sync with Git tags
  • Generate changelogs grouped by commit type in GitHub Releases
  • Only release after CI (codestyle + tests) passes
  • Replace the existing release.yml Docker workflow with a versioning-only workflow

Constraints

  • Must work with the existing conventional commit enforcement (pre-commit hook)
  • Must not create infinite loops (version commit re-triggering the workflow)
  • Bootstrap from the current version 0.1.0

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions