👷 Add pre-commit config with local script for permalinks (#14398)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Sebastián Ramírez 2025-11-23 09:41:43 -08:00 committed by GitHub
parent 79bc4b9ca0
commit 4f3ff79736
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 37 additions and 13 deletions

View File

@ -7,7 +7,6 @@ on:
- synchronize
env:
UV_SYSTEM_PYTHON: 1
IS_FORK: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
jobs:
@ -41,6 +40,10 @@ jobs:
requirements**.txt
pyproject.toml
uv.lock
- name: Install Dependencies
run: |
uv venv
uv pip install -r requirements.txt
- name: Run pre-commit
id: precommit
run: |
@ -69,7 +72,7 @@ jobs:
run: exit 1
# https://github.com/marketplace/actions/alls-green#why
alls-green: # This job does nothing and is only used for the branch protection
pre-commit-alls-green: # This job does nothing and is only used for the branch protection
if: always()
needs:
- pre-commit

3
.gitignore vendored
View File

@ -28,3 +28,6 @@ archive.zip
# macOS
.DS_Store
# Ignore while the setup still depends on requirements.txt files
uv.lock

View File

@ -1,20 +1,29 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: check-added-large-files
- id: check-toml
- id: check-yaml
- id: check-added-large-files
- id: check-toml
- id: check-yaml
args:
- --unsafe
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/astral-sh/ruff-pre-commit
- --unsafe
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.3
hooks:
- id: ruff
- id: ruff
args:
- --fix
- id: ruff-format
- id: ruff-format
- repo: local
hooks:
- id: local-script
language: unsupported
name: local script
entry: uv run ./scripts/docs.py add-permalinks-pages
args:
- --update-existing
files: ^docs/en/docs/.*\.md$

View File

@ -1,6 +1,6 @@
-e .[all]
-r requirements-tests.txt
-r requirements-docs.txt
pre-commit >=2.17.0,<5.0.0
pre-commit >=4.5.0,<5.0.0
# For generating screenshots
playwright

View File

@ -520,6 +520,15 @@ def add_permalinks_page(path: Path, update_existing: bool = False):
f.writelines(updated_lines)
@app.command()
def add_permalinks_pages(pages: List[Path], update_existing: bool = False) -> None:
"""
Add or update header permalinks in specific pages of En docs.
"""
for md_file in pages:
add_permalinks_page(md_file, update_existing=update_existing)
@app.command()
def add_permalinks(update_existing: bool = False) -> None:
"""