twisted / towncrier

Manage the release notes for your project.
https://towncrier.readthedocs.io
MIT License
755 stars 107 forks source link

The `towncrier-check` pre-commit hook doesn't actually run `towncrier check` #600

Open SmileyChris opened 1 month ago

SmileyChris commented 1 month ago

This seems an unnatural correlation and I'm not sure what the purpose of the current hook (towncrier --draft) would really even be!

Also, it would make sense that this always runs, not just when a file is found in newsfragments/ since the check is supposed to be checking whether or not there are actually changelog updates, correct?

adiroiban commented 1 month ago

I am using towncrier --draft from my project as part of CI to make sure there is no invalid RST syntax in those files.

adiroiban commented 1 month ago

I am not using pre-commit hooks for my projects ... so I don't know how and why they should be used.

I think that we should start fixing this issue by documenting the pre-commit hooks so that we have the information of what we want to achieve with the hook


Things that I check for a branch / PR:

Things that are needed and not yet implemented

SmileyChris commented 1 month ago

pre-commit is useful to enforce standards. Since it needs active buy-in from your developers to actually use it, it usually lives as a git action too to actually enforce it :)

From the things you check for, I'd say we should have different hooks that do each of those:

adiroiban commented 1 month ago

So far the approach is to have a single towncrier check that does everything.

towncrier check should be smart enough to detect when we have a normal branch, a release branch or a revert branch, and do its magic.

SmileyChris commented 1 month ago

Since this discussion was getting a bit esoteric, I thought it would be good to actually just suggest the changes to the current hooks. The current towncrier-check hook is confusing since all it does is build --draft when we have a check action.