-
-
Notifications
You must be signed in to change notification settings - Fork 31.8k
gh-109408: Add the docs whitespace check from patchcheck to pre-commit #109854
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
Conversation
…-commit's trailing-whitespace
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM (though I can't review the Makefile changes :)
Makefile.pre.in
Outdated
@$(RUNSHARED) ./$(BUILDPYTHON) -m pre_commit --version >/dev/null 2>&1 || $(RUNSHARED) ./$(BUILDPYTHON) -m pip install pre-commit >/dev/null 2>&1 | ||
$(RUNSHARED) ./$(BUILDPYTHON) -m pre_commit run --all-files |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think make patchcheck
should run pre commit, especially if the goal is to remove it. Hence I'd say this is a docs point to communicate.
@$(RUNSHARED) ./$(BUILDPYTHON) -m pre_commit --version >/dev/null 2>&1 || $(RUNSHARED) ./$(BUILDPYTHON) -m pip install pre-commit >/dev/null 2>&1 | |
$(RUNSHARED) ./$(BUILDPYTHON) -m pre_commit run --all-files |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm thinking it would be a good idea to add a make lint
target like we have for the PEPs repo (and Pillow), which seems to work there.
Perhaps we should add make lint
now and have it run pre-commit; and maybe also patchcheck?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd agree. We should also update the devguide (currently only patchcheck is mentioned)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've removed the Makefile
changes from this PR, let's decide what to later after discussion:
https://discuss.python.org/t/do-you-use-make-patchcheck/34743?u=hugovk
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right now Makefile
does not have pip
mentions at all, I think that adding a new target with external deps needs a bit of discussion.
Since Makefile
has a biiig range of different use-cases.
In my opinion having pre-commit
CLI and in CI on its own is good enough.
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
To clarify my opinion: I don't mind which of either of these are used, as I use Windows so the choice is personally irrelevant! I'll be happy with whatever Hugo goes for. A |
We could perhaps create a poll on Discourse in the core development category asking how many people actually run |
Written up some questions at https://discuss.python.org/t/do-you-use-make-patchcheck/34743 A |
Thanks @hugovk for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11, 3.12. |
…-commit (pythonGH-109854) (cherry picked from commit 7426ed0) Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
…-commit (pythonGH-109854) (cherry picked from commit 7426ed0) Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
GH-110594 is a backport of this pull request to the 3.12 branch. |
GH-110595 is a backport of this pull request to the 3.11 branch. |
…e-commit (GH-109854) (#110595) gh-109408: Add the docs whitespace check from patchcheck to pre-commit (GH-109854) (cherry picked from commit 7426ed0) Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
…e-commit (GH-109854) (#110594) gh-109408: Add the docs whitespace check from patchcheck to pre-commit (GH-109854) (cherry picked from commit 7426ed0) Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
…-commit (python#109854) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Moves one of the patchcheck checks to pre-commit.
1.
patchcheck's
normalize_docs_whitespace
runs on files wherefn.startswith('Doc') and fn.endswith(('.rst', '.inc')
pre-commit's
trailing-whitespace
is already running onc
,python
andrst
in the whole codebase.So this widens the check to cover
inc
files in the whole codebase, not just inDoc
. I think this is a good thing.2.
patchcheck substitutes matches of
re.compile(br'\s+(\r?\n)$')
withbr'\1
. That is, it strips multiple trailing\r
and\n
characters.pre-commit's
trailing-whitespace
trims all trailing whitespace by default (docs). This also widens the check, I think this is a good thing.3.
Removedocs_modified(doc_files)
from patchcheck, it merely printed out whether any docs files were modified. I don't think it's useful now patcheck does no docs checking, and I'd like to eventually remove patchcheck.4.
Some people might be still runningmake patchcheck
? If so, to maintain some kind of parity, I've added steps to install and run pre-commit as part of the Makefile command.We're doing a similar thing in the PEPs repo:
https://github.com/python/peps/blob/a159a9ac58ca73dc1da0b626b6df77807af455d0/Makefile#L62-L77
(And Pillow: https://github.com/python-pillow/Pillow/blob/main/Makefile)
Does this seem useful, or better to leave it out?
5.
Finally, some cleanup of
patchcheck.py
: whitespace, f-strings, consistent pluralised outputs, fix typo.