🧠 Description
Currently, the version calculation process analyzes all commits, including those containing special keywords like [skip ci].
However, there should be a way to ignore commits that contain a specific keyword (e.g., [no-release]) so they don’t contribute to the version bump logic.
🔍 Example Scenario
chore: hello world
=> Analysis => release_type: patch
feat: Add intro message component [no-release]
=> Analysis => release_type: minor, but should be ignored due to [no-release]
fix: add french language support
=> Analysis => release_type: patch
⚙️ Current Behavior
- The action analyzes all commits since the last release.
- Commits with keywords like
[no-release] or [skip-release] are not filtered out.
- If any such commit includes a conventional commit type like
feat: or fix:, it still contributes to determining the final release_type.
Example outcome:
- A commit with
feat: and [no-release] still causes a minor bump, even though it should be ignored.
🎯 Expected Behavior
- Commits containing configurable ignore keywords (e.g.,
[no-release], [skip-release]) should be skipped entirely during analysis.
- These commits should:
- Not contribute to determining the
release_type.
- Not appear in the changelog.
- Not influence semantic versioning logic in any way.
💡 Proposed Solution
- Introduce a configurable list of ignore keywords (default:
[no-release], [skip-release]).
- Before version analysis begins, filter out commits whose messages contain one of these keywords.
- Continue version bump calculation using only the remaining commits.
🧱 Additional Context
This enhancement ensures better control over automated versioning workflows — especially useful when non-impactful commits (like internal refactors, experiments, or temporary feature branches) should not trigger a release.
🧠 Description
Currently, the version calculation process analyzes all commits, including those containing special keywords like
[skip ci].However, there should be a way to ignore commits that contain a specific keyword (e.g.,
[no-release]) so they don’t contribute to the version bump logic.🔍 Example Scenario
⚙️ Current Behavior
[no-release]or[skip-release]are not filtered out.feat:orfix:, it still contributes to determining the finalrelease_type.Example outcome:
feat:and[no-release]still causes a minor bump, even though it should be ignored.🎯 Expected Behavior
[no-release],[skip-release]) should be skipped entirely during analysis.release_type.💡 Proposed Solution
[no-release],[skip-release]).🧱 Additional Context
This enhancement ensures better control over automated versioning workflows — especially useful when non-impactful commits (like internal refactors, experiments, or temporary feature branches) should not trigger a release.