Skip to content

ci(lint): keep Markdown out of ruff format - #154

Merged
renaudcepre merged 2 commits into
mainfrom
ci/pin-ruff-markdown-format
Aug 29, 2026
Merged

renaudcepre merged 2 commits into
mainfrom
ci/pin-ruff-markdown-format

Conversation

@renaudcepre

@renaudcepre renaudcepre commented Aug 28, 2026

Copy link
Copy Markdown
Owner

Why

CI runs uvx ruff unpinned, so every ruff release can break CI with no code change. ruff 0.16 did, twice:

main last passed on ruff 0.15.x.

What

  • pyproject.toml: [tool.ruff.format] exclude = ["*.md"], doc snippets stay hand-formatted regardless of ruff version
  • ci.yml: uvx ruff@0.15.12, the version used locally. Bumping ruff and adopting the new rules is a separate PR.

Verified

ruff@0.15.12 format --check . and ruff@0.15.12 check . clean; ruff@0.16.5 format --check . clean with the exclude.

Merge this first, then #153 gets rebased on it.

https://claude.ai/code/session_017qxfAtbxBhFTZoaBAJKA3J

CI runs `uvx ruff` unpinned. ruff 0.16 started formatting Python code
blocks inside Markdown by default, inserting PEP 8 blank lines into
every doc snippet, so the format check now fails on 21 untouched .md
files for any new PR (main last passed on 0.15.x).

Doc snippets are hand-formatted on purpose: exclude "*.md" from the
formatter. Verified clean with ruff 0.16.5 and 0.15.12.

Claude-Session: https://claude.ai/code/session_017qxfAtbxBhFTZoaBAJKA3J
ruff 0.16 also enables RUF036 and PLR0917, which the Lint step now
reports on 41 untouched sites. Adopting a new ruff belongs in its own
PR, so CI runs the same ruff as the dev machines (0.15.12).

Claude-Session: https://claude.ai/code/session_017qxfAtbxBhFTZoaBAJKA3J
@renaudcepre
renaudcepre merged commit c03189a into main Aug 29, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant