Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add custom validation #1236

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

benediktziegler
Copy link

Description

This PR adds functionality to customise the commit message validation and to format the InvalidCommitMessageError to give better/more detailed feedback to the user.

Checklist

  • Add test cases to all the changes you introduce
  • Run ./scripts/format and ./scripts/test locally to ensure this change passes linter check and test
  • Test the changes on the local machine manually
  • Update the documentation for the changes

Expected behavior

The developer of a custom commitizen class can override the validate_commit_message and format_error_message methods to perform more complex commit message format checks then just a regex match and give more detailed feedback on failure.

Steps to Test This Pull Request

Run the the test_check_command_with_custom_validator_succeed and test_check_command_with_custom_validator_fail tests in test_check_command.py.

Additional context

This PR implements and fixes the comments from #648.

Copy link

codecov bot commented Sep 13, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 97.55%. Comparing base (120d514) to head (866101a).
Report is 506 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1236      +/-   ##
==========================================
+ Coverage   97.33%   97.55%   +0.21%     
==========================================
  Files          42       55      +13     
  Lines        2104     2618     +514     
==========================================
+ Hits         2048     2554     +506     
- Misses         56       64       +8     
Flag Coverage Δ
unittests 97.55% <100.00%> (+0.21%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@benediktziegler benediktziegler force-pushed the feature/custom-validation branch from fbf3813 to 7bd16c3 Compare September 13, 2024 13:57
@benediktziegler
Copy link
Author

@Lee-W I was wondering if you had any input to this PR?

@Lee-W
Copy link
Member

Lee-W commented Sep 25, 2024

I'll be mostly out till at least mid-Oct, will try to check in depth after that. Thanks!

Copy link
Member

@Lee-W Lee-W left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, I love this idea! left a few improvement suggestions

commitizen/cz/base.py Show resolved Hide resolved
commitizen/cz/base.py Outdated Show resolved Hide resolved
@Lee-W
Copy link
Member

Lee-W commented Dec 6, 2024

I'll be mostly out for the following month. Will try to take a look when I'm back.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants