👷 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 - synchronize
env: env:
UV_SYSTEM_PYTHON: 1
IS_FORK: ${{ github.event.pull_request.head.repo.full_name != github.repository }} IS_FORK: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
jobs: jobs:
@ -41,6 +40,10 @@ jobs:
requirements**.txt requirements**.txt
pyproject.toml pyproject.toml
uv.lock uv.lock
- name: Install Dependencies
run: |
uv venv
uv pip install -r requirements.txt
- name: Run pre-commit - name: Run pre-commit
id: precommit id: precommit
run: | run: |
@ -69,7 +72,7 @@ jobs:
run: exit 1 run: exit 1
# https://github.com/marketplace/actions/alls-green#why # 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() if: always()
needs: needs:
- pre-commit - pre-commit

3
.gitignore vendored
View File

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

View File

@ -1,7 +1,7 @@
# See https://pre-commit.com for more information # See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks # See https://pre-commit.com/hooks.html for more hooks
repos: repos:
- repo: https://github.com/pre-commit/pre-commit-hooks - repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0 rev: v6.0.0
hooks: hooks:
- id: check-added-large-files - id: check-added-large-files
@ -11,10 +11,19 @@ repos:
- --unsafe - --unsafe
- id: end-of-file-fixer - id: end-of-file-fixer
- id: trailing-whitespace - id: trailing-whitespace
- repo: https://github.com/astral-sh/ruff-pre-commit - repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.3 rev: v0.14.3
hooks: hooks:
- id: ruff - id: ruff
args: args:
- --fix - --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] -e .[all]
-r requirements-tests.txt -r requirements-tests.txt
-r requirements-docs.txt -r requirements-docs.txt
pre-commit >=2.17.0,<5.0.0 pre-commit >=4.5.0,<5.0.0
# For generating screenshots # For generating screenshots
playwright playwright

View File

@ -520,6 +520,15 @@ def add_permalinks_page(path: Path, update_existing: bool = False):
f.writelines(updated_lines) 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() @app.command()
def add_permalinks(update_existing: bool = False) -> None: def add_permalinks(update_existing: bool = False) -> None:
""" """