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

AlexWaygood webhook-mailer at python.org
Sun Jun 18 08:21:38 EDT 2023


https://github.com/python/cpython/commit/6baddd9fb25e03040c1c07c410eae834463874d1
commit: 6baddd9fb25e03040c1c07c410eae834463874d1
branch: 3.12
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: AlexWaygood <Alex.Waygood at Gmail.com>
date: 2023-06-18T13:21:34+01:00
summary:

[3.12] Docs: move sphinx-lint to pre-commit (GH-105750) (#105894)

Docs: move sphinx-lint to pre-commit (GH-105750)
(cherry picked from commit bc07c8f096791d678ca5c1e3486cb9648f7a027b)

Co-authored-by: Hugo van Kemenade <hugovk at users.noreply.github.com>

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

diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml
index ec900ce68a1dd..3211b526efc7a 100644
--- a/.github/workflows/doc.yml
+++ b/.github/workflows/doc.yml
@@ -51,8 +51,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
 
@@ -82,8 +80,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 9cbd15c2209dc..4c9d02ea37ab5 100644
--- a/Doc/requirements.txt
+++ b/Doc/requirements.txt
@@ -10,7 +10,6 @@ sphinx==4.5.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