diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index be7d818..f7de8cb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,7 +57,7 @@ jobs: # .pre-commit-config.yaml — a floating ruff can promote rules and redden CI. # Keep this in lockstep with the pre-commit rev and pyproject's `dev` extra. - name: Install dev tools - run: python -m pip install "ruff==0.14.10" "pytest>=8.0" boto3 defusedxml Pillow feedparser mutagen numpy opencv-python-headless + run: python -m pip install "ruff==0.16.10" "pytest>=8.0" boto3 defusedxml Pillow feedparser mutagen numpy opencv-python-headless # resolve_font's Linux fallbacks are DejaVu and Liberation. Installed # explicitly rather than assumed from the runner image: which fonts ship in diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e40de2e..cd88673 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,14 +10,14 @@ exclude: '^skills/daily-podcast/refs/' repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.14.10 + rev: v0.16.10 hooks: - id: ruff-check args: [--fix] - id: ruff-format - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v5.0.0 + rev: v6.0.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 59a2000..dc748d7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -24,7 +24,7 @@ need: ```bash # Tooling only (lint + tests) — works on any platform, no MLX: -pip install ruff==0.14.10 "pytest>=8.0" boto3 +pip install ruff==0.16.10 "pytest>=8.0" boto3 # Or, for a full editable env on an Apple Silicon Mac: pip install -e ".[dev]" diff --git a/pyproject.toml b/pyproject.toml index 77e644b..bd0de71 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,9 +50,9 @@ video = [ dev = [ "pytest>=8.0", # ruff is pinned exactly (not a floor) so lint results are reproducible across - # local dev, the pre-commit rev (v0.14.10), and CI — a linter's version decides + # local dev, the pre-commit rev (v0.16.10), and CI — a linter's version decides # pass/fail. Bump all three sites together. - "ruff==0.14.10", + "ruff==0.16.10", ] [project.urls] @@ -75,6 +75,12 @@ target-version = "py310" # never let a formatter or whitespace rule touch the refs. extend-exclude = ["skills/daily-podcast/refs"] +[tool.ruff.format] +# ruff >= 0.16 also formats Python code blocks inside Markdown. The docs/ plans and +# specs keep hand-aligned snippets (column-aligned trailing comments), so the format +# gate stays Python-only, as it was under 0.14. +exclude = ["*.md"] + [tool.ruff.lint] # Small ruleset: pycodestyle (E/W), pyflakes (F), import-sort (I), pyupgrade (UP), # bugbear (B). No D (docstrings) — the codebase uses module-level docstrings only.