feat: automated versioning based on conventional commits - #241
Draft
dario-br wants to merge 2 commits into
Draft
Conversation
- Enable Dependabot to check for GitHub Actions updates weekly - Replace Docker build workflow with Python Semantic Release for automated versioning - Add git-cliff configuration for structured changelog generation - Integrate GitHub Release notes automation with git-cliff output - Update workflow names for clarity (release.yml, unittest.yml) - Add pre-commit to dev dependencies for code quality enforcement - Configure semantic versioning with conventional commits parsing - Set up automatic changelog grouping by commit type (features, fixes, docs, etc.)
- Add .pre-commit-config.yaml with ruff and conventional-pre-commit hooks - Configure ruff-check with auto-fix and ruff-format for consistent code style - Enforce Conventional Commits format via pre-commit hook on commit messages - Update CONTRIBUTING.md with pre-commit installation instructions - Add comprehensive Commit Messages section documenting conventional commit types - Document automated release workflow and version bumping strategy - Clarify that version updates and tags are handled automatically by CI - Provide commit message examples and breaking change documentation
Collaborator
Author
|
@willmoffat can you take a look to this decision point? Decision needed: handling non-conventional commits The pre-commit hook enforces conventional commit format locally, but it's opt-in. Non-conventional commits can still reach Three options:
Potential recommendation: Option C — squash merge gives a clean 1:1 mapping between PRs and commits on |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #239
This feature adds automated semantic versioning to the sysdiagnose project. When commits are pushed to the
mainbranch (after passing branch protection checks), the system analyses conventional commit messages, determines the appropriate SemVer bump (major, minor, patch), updatespyproject.toml, creates a Git tag, generates a changelog with author attribution using git-cliff, and publishes a GitHub Release. The Version_Workflow is implemented as.github/workflows/release.ymland serves as the sole release mechanism for the project.