[Python-checkins] Docs: move sphinx-lint to pre-commit (#105750)

hugovk webhook-mailer at python.org
Sun Jun 18 07:52:08 EDT 2023


https://github.com/python/cpython/commit/bc07c8f096791d678ca5c1e3486cb9648f7a027b
commit: bc07c8f096791d678ca5c1e3486cb9648f7a027b
branch: main
author: Hugo van Kemenade <hugovk at users.noreply.github.com>
committer: hugovk <hugovk at users.noreply.github.com>
date: 2023-06-18T11:52:05Z
summary:

Docs: move sphinx-lint to pre-commit (#105750)

files:
M .github/workflows/reusable-docs.yml
M .pre-commit-config.yaml
M Doc/Makefile
M Doc/constraints.txt
M Doc/requirements.txt

diff --git a/.github/workflows/reusable-docs.yml b/.github/workflows/reusable-docs.yml
index 8a271e867c8b4..c5a15a10866e2 100644
--- a/.github/workflows/reusable-docs.yml
+++ b/.github/workflows/reusable-docs.yml
@@ -28,8 +28,6 @@ jobs:
         cache-dependency-path: 'Doc/requirements.txt'
     - name: 'Install build dependencies'
       run: make -C Doc/ venv
-    - name: 'Check documentation'
-      run: make -C Doc/ check
     - name: 'Build HTML documentation'
       run: make -C Doc/ SPHINXOPTS="-q" SPHINXERRORHANDLING="-W --keep-going" html
 
@@ -59,8 +57,6 @@ jobs:
         make -C Doc/ PYTHON=../python SPHINXOPTS="-q -n -W --keep-going" html 2>&1
 
   # This build doesn't use problem matchers or check annotations
-  # It also does not run 'make check', as sphinx-lint is not installed into the
-  # environment.
   build_doc_oldest_supported_sphinx:
     name: 'Docs (Oldest Sphinx)'
     runs-on: ubuntu-latest
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 808622f19a3db..464bcde6e9842 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -5,3 +5,11 @@ repos:
       - id: check-yaml
       - id: trailing-whitespace
         types_or: [c, python, rst]
+
+  - repo: https://github.com/sphinx-contrib/sphinx-lint
+    rev: v0.6.7
+    hooks:
+      - id: sphinx-lint
+        args: [--enable=default-role]
+        files: ^Doc/
+        types: [rst]
diff --git a/Doc/Makefile b/Doc/Makefile
index c11ea6ce03e8a..22691895068fe 100644
--- a/Doc/Makefile
+++ b/Doc/Makefile
@@ -216,11 +216,9 @@ dist:
 	rm dist/python-$(DISTVERSION)-docs-texinfo.tar
 
 .PHONY: check
-check:
-	# Check the docs and NEWS files with sphinx-lint.
-	# Ignore the tools and venv dirs and check that the default role is not used.
-	$(SPHINXLINT) -i tools -i $(VENVDIR) --enable default-role
-	$(SPHINXLINT) --enable default-role ../Misc/NEWS.d/next/
+check: venv
+	$(VENVDIR)/bin/python3 -m pre_commit --version > /dev/null || $(VENVDIR)/bin/python3 -m pip install pre-commit
+	$(VENVDIR)/bin/python3 -m pre_commit run --all-files
 
 .PHONY: serve
 serve:
diff --git a/Doc/constraints.txt b/Doc/constraints.txt
index 66c748eb092d8..54888eaab242e 100644
--- a/Doc/constraints.txt
+++ b/Doc/constraints.txt
@@ -23,7 +23,3 @@ sphinxcontrib-serializinghtml<1.2
 
 # Direct dependencies of Jinja2 (Jinja is a dependency of Sphinx, see above)
 MarkupSafe<2.2
-
-# Direct dependencies of sphinx-lint
-polib<1.3
-regex<2024
diff --git a/Doc/requirements.txt b/Doc/requirements.txt
index d3fa6ce6dabc6..bde509febf5bd 100644
--- a/Doc/requirements.txt
+++ b/Doc/requirements.txt
@@ -11,7 +11,6 @@ sphinx==6.2.0
 
 blurb
 
-sphinx-lint==0.6.7
 sphinxext-opengraph==0.7.5
 
 # The theme used by the documentation is stored separately, so we need



More information about the Python-checkins mailing list